让我们假设以下关联:
@JoinColumn(
name = "contract_id", nullable = false,
foreignKey = ForeignKey(name = "fk_example__contract"),
)
val contract: Contract,
fun findAllByContractId(contractId: Long, pageable: Pageable): Page<ExampleProjection>
//avoiding join to contract, if just using ```contract_id``` in where clause
@Column(name = "contract_id", insertable = false, updatable = false)
var contractId: Long? = null
添加此附加映射后,使用FindAllByContractID
时,到表合同
的左外部联接将消失
这个解决方案在我的测试用例中有一个缺点:在用repsitory.getOne(id)(Spring Data JPA)加载实体后,实体示例
中的contractid
属性为null。
如果我只需要使用带有contractid
的投影,或者如果我只想在where子句中使用它,如果contract_id
在同一个表example
中,有没有更好的方法避免联接?
您如何定义它的列应该工作得很好。
也许是如何用repository.getOne()加载数据的问题。你在测试中用它吗?也许您需要调用TestEntityManager.clear()
,以便Hibernate能够正确地将id列映射到您的实体属性
本文向大家介绍在React中如何避免不必要的render?相关面试题,主要包含被问及在React中如何避免不必要的render?时的应答技巧和注意事项,需要的朋友参考一下 shouldComponentUpdate、memoization、PureComponent
我使用的是一个包含DATETIME列的SQLite数据库。jOOQ default将日期时间列绑定到java。sql。时间戳。查询包含DATETIME列的表会导致每列出现NumberFormatException(已处理)。 我使用jOOQ 3.11.9。 异常在parse方法,当它第一次尝试将时间戳字符串值转换为数字时。 查看和DefaultTimestampBinding方法时,时间戳总是ge
我有一个从XML映射的类。为了简单起见,让我们想象这个类是这样的: 现在,现有的代码中充满了像这样的方法: …等等。你肯定有这个想法。 我需要包含一个新的方法来从employee返回一个新的属性,但是由于我觉得这对mantain来说是可怕的,所以我拒绝在那里添加一个新的方法。我正在考虑使用action模式,以某种方式避免至少重复againg和for循环,但我不得不说,我找不到一个聪明的解决方案。
问题内容: 我有按日期排序的旅行数据(大集合)列表。 现有行为 我将所有行程数据存储到SqlLite Db中。对于添加的每个新数据,我通常都会收到fcm通知,并且使用上次更新的时间概念仅同步新添加的数据。这样,当cx打开应用程序时,他将始终从我的数据库中读取数据,从而节省了 读取 和 网络 操作。 如何使用Firestore达到相同的目的? 需要考虑的几个问题: Firestore get()始终
我问的问题非常简单,但似乎不可能找到答案。我正在使用Spring Data JPA,我有一个JDBC/JPA(这是PostgreSQL,但这不重要),它预加载了数据,我只是试图从中读取。 我如何构造我的POJO,这样我就可以有一个< code >列表 这样做,我得到了一个 在另一个表中?我如何修复这种行为?我只是尝试将PostgreSQL 列映射回< code >列表
我一直在尝试HQL和Criteria的不同组合,但我无法避免一些不必要的连接(在两者中)和一些不必要选择(在Criteria中)。 在我们的场景中,我们在Segment和Application实体之间有@ManyTo的关系(导航是从Segment到应用程序)。 首先我尝试了这个标准: Wich 生成此 SQL: 正如您所看到的,Criteria从APPLICATION中选择列,我不想被选择。我还没