我有一个表/类User和Message。一个用户可以拥有许多消息。如何为Message建模Java类;它应该具有User类型的属性,还是只有用户名的字符串,这是该关系中的关键字?
当使用Hibernate生成类时,它为Message类提供了User属性。这是否意味着它是正确的方式?
我在创建消息时发现它有问题,同时也给它一个用户实例,因为我似乎无法在我正在使用的Spring网络流程中这样做(我只是传递了用户名)从视图)。
答案 0 :(得分:0)
您可以使用OneToMany关系设计您的类,而Message类不需要具有用户字段。
例如:
public class User {
@OneToMany
private List<Message> messages;
}
public class Message {
@Basic
private String body;
}
在这种情况下,Message的数据库表将包含用户id的列。您可以使用JoinColumn
:
public class User {
@OneToMany
@JoinColumn(name="my_user_id_column")
private List<Message> messages;
}
否则,您可以使用此answer
中的@JoinTable
答案 1 :(得分:0)
请观看此视频链接,解释hibernate bean类关系的简单方法@onetomany和@manytoone