我目前正致力于将使用JDBC(不是专为JPA设计)的代码迁移到Hibernate,而且我想要通过一对一的关系链接两个实体。 以下是类似的实体,可以帮助解释我的问题:
Entity A
complexKey : String
Entity B
complexSubKey1: String
complexSubKey2: String
complexSubKey3: String
对于这个例子,我希望在
时链接实体A和B.complexKey = complexSubKey1 +":" + complexSubKey2 +":" + complexSubKey3。
我不知道如何实现这一目标。
答案 0 :(得分:1)
您应该可以使用JoinColumnOrFormula
注释
public class B{
@OneToOne
@JoinColumnsOrFormulas(
{
@JoinColumnOrFormula(
formula=@JoinFormula(value="concat(complexSubKey1,':','complexSubKey2',':',complexSubKey3)"
, referencedColumnName="complexKey"))
})
@Fetch(FetchMode.JOIN)
private A a;
}