OneToOne 与查询的关系
OneToOne Relationship with a query
我目前正在努力将使用 JDBC(不是为 JPA 设计)的代码迁移到 Hibernate,我有两个实体想 link 一对一一种关系。
以下是可以帮助解释我的问题的类似实体:
Entity A
complexKey : String
Entity B
complexSubKey1: String
complexSubKey2: String
complexSubKey3: String
对于这个例子,我想 link 实体 A 和 B,当
complexKey = complexSubKey1 + ":" + complexSubKey2 + ":" +
complexSubKey3.
我真的不知道如何做到这一点。
您应该可以通过使用 JoinColumnOrFormula
注释
来实现
public class B{
@OneToOne
@JoinColumnsOrFormulas(
{
@JoinColumnOrFormula(
formula=@JoinFormula(value="concat(complexSubKey1,':','complexSubKey2',':',complexSubKey3)"
, referencedColumnName="complexKey"))
})
@Fetch(FetchMode.JOIN)
private A a;
}
我目前正在努力将使用 JDBC(不是为 JPA 设计)的代码迁移到 Hibernate,我有两个实体想 link 一对一一种关系。 以下是可以帮助解释我的问题的类似实体:
Entity A
complexKey : String
Entity B
complexSubKey1: String
complexSubKey2: String
complexSubKey3: String
对于这个例子,我想 link 实体 A 和 B,当
complexKey = complexSubKey1 + ":" + complexSubKey2 + ":" + complexSubKey3.
我真的不知道如何做到这一点。
您应该可以通过使用 JoinColumnOrFormula
注释
public class B{
@OneToOne
@JoinColumnsOrFormulas(
{
@JoinColumnOrFormula(
formula=@JoinFormula(value="concat(complexSubKey1,':','complexSubKey2',':',complexSubKey3)"
, referencedColumnName="complexKey"))
})
@Fetch(FetchMode.JOIN)
private A a;
}