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

时间:2015-06-29 17:55:11

标签: java hibernate

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

OrderItem的

ID    data1   data2   data3
1     a       b       c
2     d       e       f
3     g       h       i

DisputedItem

ID    data4
1     q
3     r

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

2 个答案:

答案 0 :(得分:4)

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

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

您可以使用以下网址作为参考Hibernate Formula

答案 1 :(得分:1)

是的,这是一个例子:

@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;
}