【发布时间】:2015-01-21 05:55:26
【问题描述】:
我有以下映射:
@Entity
@Table(name="terminal_user")
public class TerminalUser {
@OneToMany(mappedBy="user",fetch = FetchType.LAZY)
private Set<UserContent> userContentSet;
....
}
@Entity
@Table(name="user_content")
public class UserContent {
@ManyToOne
@JoinColumn(name = "user_id")
TerminalUser user;
@OneToOne(mappedBy = "userContent")
Content content;
...
}
@Entity
@Table(name = "content")
public class Content {
@OneToOne
@JoinColumn(name = "user_content_id")
UserContent userContent;
....
}
设置hibernate.hbm2ddl.auto后创建
我看到以下数据库图:
对我来说,表 user_content 和 content 的关系不是一对一的。
看起来和terminal_user和user_content的关系一样,是一对多
我做错了什么?
【问题讨论】:
-
我知道这并不能回答你的问题,但你为什么不直接使用逆向工程工具呢?它让生活更轻松!准备好你的数据库然后“魔法”!
-
比如sybase power Designer?
-
简单的休眠工具从你的数据库到代码。您可以使用 MySQL 工作台或任何您想使用的工具,从图表转到数据库。我总是这样。我从不编写自己的映射。我只是添加了hibernate不会自动生成的内容。
标签: java hibernate jpa mapping one-to-one