Jpa pojo和hibernate中的关系映射

时间:2011-12-05 14:15:13

标签: java hibernate jpa-2.0

目前我有一个pojo

class Myclass{
    private int taskid;
    private String tasktype;
    private int Monitory_by;
    private int Assigned_by;
    private int Report_to;
    private int Assigned_to;
}

其中Monitory_by,Assigned_by,Report_to,Assigned_to是用户的主键值,因此我为用户提供了pojo,它提供了用户的所有数据。

关键是将此与pojo相关联,其中 Monitory_by,Assigned_by字段是可选的(即,可以给出或不给出值)。请帮帮我

3 个答案:

答案 0 :(得分:1)

使用Integer代替int,它可以为空。

答案 1 :(得分:0)

根据您使用的标签,我假设您正在使用带有JPA的Hibernate。我建议查看Hibernate在entity mapping上提供的大量文档。此参考包括有关主键映射(Ids)和外键(一对多)映射的帮助。

答案 2 :(得分:0)

您确定要使用原始类型来标记与其他实体的关系吗?

在JPA世界中,您通常使用实体类型而不是直接主键。因此,int Assigned_to取代User assignedTo而不是optional

如果是这样,您可以使用@OneToMany@OneToOne@ManyToOne或{{1}等关系注释之一的@ManyToMany属性来定义关系的可选性},所以它会是:

@OneToOne(optional = true)
private User assignedTo;

PS。默认情况下,所有关系都是可选的,因此不需要设置optional = true