繁体   English   中英

Hibernate中的公式多对一

[英]Many-to-one with formula in Hibernate

我有以下表格:

tableA: id[PK], name
tableB: id[PK], idTableA[FK], dateClosed

而我的 object model 如下:

class ObjectA {
    private Integer id:
    private String name;
    private ObjectB activeB;
}

class ObjectB {
    private Integer id;
    private ObjectA a;
    private Date dateClosed;
}

所以ObjectA中的activeB属性应该是dateClosed为 NULL 的属性(在 null dateClosed 时只能有一个ObjectB )。

我在用正确的公式编写多对一关系以获得活动的ObjectB时遇到了困难……谢谢!

看起来它实际上是 A 和 B 之间的一对一关系。

下面是Java EE 6; 不知道和hibernate有什么区别。

@Entity    
class ObjectA {
    @Id @GeneratedValue
    private Integer id:
    private String name;
    @OneToOne(mappedBy = "a")
    private ObjectB activeB;
}

@Entity
class ObjectB {
    @Id @GeneratedValue
    private Integer id;
    @OneToOne
    @JoinColumn(name = "idTableA")
    private ObjectA a;
    private Date dateClosed;
}

至于具有 null 值的单个 B,我的猜测是它无法在数据库中实现。 因此,您需要代码(非关系)的 rest 来处理这方面的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM