nik*_*ers 18 java entity-relationship hibernate jpa join
请考虑以下数据库架构:
create table UserGroup ( id int not null auto_increment, name varchar(200),
primary key(id));
create table User ( id int not null auto_increment, name varchar(200),
groupId int not null, primary key(id));
Run Code Online (Sandbox Code Playgroud)
User.groupId = UserGroup.id,因此用户只能是一个组的成员,但用户组可以存在许多用户.好到目前为止,让我们在Hibernate中创建实体.这是User
:
@Entity
@Table(name = "User")
public class User {
@Id
@Column(name="id", nullable = false)
private Integer id;
@Column(name="name", length = 200, nullable = true)
private String name;
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name = "groupId", nullable = false, insertable=false, updatable=false)
@ForeignKey(name="FK_GroupId")
private UserGroup userGroup;
/* Getters, Setters, toString, equals & hashCode */
}
Run Code Online (Sandbox Code Playgroud)
这是UserGroup
:
@Entity
@Table(name = "UserGroup")
public class UserGroup {
@Id
@Column(name="id", nullable = false)
private Integer id;
@Column(name="name", length = 200, nullable = true)
private String name;
@OneToMany(fetch=FetchType.EAGER)
private List<User> users;
/* Getters, Setters, toString, equals & hashCode */
}
Run Code Online (Sandbox Code Playgroud)
现在我会收到一个错误,"Table mydb.usergroup_user' doesn't exist"
因为它需要一个连接表.由于与该应用程序将替换的其他应用程序的互操作性,我的数据结构"一成不变",因此我不会进行连接表.此外,它不应该是必需的.我该如何制作一个List<User> users
简单的用户列表User.groupId == UserGroup.Id
?
归档时间: |
|
查看次数: |
17125 次 |
最近记录: |