我在做一对多的映射时面临一个问题, 例如我有一个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详细信息。谢谢!
答案 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命名约定。类不应该全部大写。