从Hibernate中的另一个表中拉出字段

Tin*_*Man 2 java hibernate

我有两个表,它们具有一对一的关系,看起来像这样:

OrderItem

ID    data1   data2   data3
1     a       b       c
2     d       e       f
3     g       h       i
Run Code Online (Sandbox Code Playgroud)

有争议的项目

ID    data4
1     q
3     r
Run Code Online (Sandbox Code Playgroud)

有没有办法在data4没有单独的DisputedItemModel的情况下加入OrderItem的Hibernate模型?最好使用注释。

Sef*_*lan 6

是的,这是一个例子:

@Table(name = "table")
public class c
{
    @Id
    @Column(name = "ID")
    private int Id;

    @Formula("(select t.data from table t where t.ID = ID))")
    private String data;
}
Run Code Online (Sandbox Code Playgroud)

  • ID后面应该有2个括号吗? (2认同)

Joh*_*ham 5

@Formula如果您具有基于注释的映射,则可以使用Hibernate 注释;如果<formula>通过XML进行映射,则可以使用标记。

公式可以做的是帮助您通过查询提取值并将其映射到OrderItem域模型中的字段。该字段可以来自任何表,但是用于映射属性的查询应返回缩进的字段类型。

您可以使用以下URL来参考休眠公式