OneToOne与查询的关系

时间:2017-02-13 10:43:23

标签: hibernate spring-data one-to-one

我目前正致力于将使用JDBC(不是专为JPA设计)的代码迁移到Hibernate,而且我想要通过一对一的关系链接两个实体。 以下是类似的实体,可以帮助解释我的问题:

Entity A
 complexKey : String

Entity B
 complexSubKey1: String
 complexSubKey2: String
 complexSubKey3: String

对于这个例子,我希望在

时链接实体A和B.
  

complexKey = complexSubKey1 +":" + complexSubKey2 +":" +   complexSubKey3。

我不知道如何实现这一目标。

1 个答案:

答案 0 :(得分:1)

您应该可以使用JoinColumnOrFormula注释

来实现这一目标
public class B{

    @OneToOne
    @JoinColumnsOrFormulas(
           { 
              @JoinColumnOrFormula(
                 formula=@JoinFormula(value="concat(complexSubKey1,':','complexSubKey2',':',complexSubKey3)"
                     , referencedColumnName="complexKey")) 
           })
    @Fetch(FetchMode.JOIN)
    private A a;
}