JPA注释可以进行多个映射

时间:2013-02-11 10:09:53

标签: jpa

我在做一对多的映射时面临一个问题, 例如我有一个USER类和另一个类PHONE,从USER到PHONE有一对多的映射。 我设计了这样的课程,

class USER{

@Column(name="user_id")
UUID user_id;

@OneToMany
Set<PHONE> phones;
}

class PHONE{
@Column(name="phone_id")
UUID phone_id;

@Column(name=user_id)
UUID user_id;
}

我是否可以使用任何注释而无需在手机类中定义USER的类型?

如果我喜欢这个“PHONE类中的USER用户”,那么我可以定义单向或双向关系。但我想将user_id保留在PHONE Table中,因为当我收到PHONE时,我也不想获得USER详细信息。谢谢!

1 个答案:

答案 0 :(得分:0)

如果您不想在加载手机时加载用户,请将关联设为懒惰:

@Entity
public class User {
    ...

    @OneToMany(mappedBy = "user")
    private Set<Phone> phones;
}


@Entity
public class Phone
    ...

    @ManyToOne(fetch = FetchType.LAZY)
    private User user;
}

请注意,上面的代码也遵循Java命名约定。类不应该全部大写。