【发布时间】:2013-06-03 22:05:03
【问题描述】:
我是一个休眠和 EJB 初学者。我有这个简单的 ORM:
USER -> belongsTo -> GROUP
我习惯用其他语言创建多个属于同一组的新用户:
Group g = new Group();
groupsManager.create(g);
User u1 = new User("Tom");
User u1 = new User("Jerry");
u1.setGroup(g);
u2.setGroup(g);
usersManager.create(u1);
usersManager.create(u2);
正在创建记录,但不是每个用户都属于同一个组,而是我最终拥有 3 个组。
这是两个实体类:
@Entity
@Table(name="Users")
public class User extends AbstractEntity implements Serializable {
private static final long serialVersionUID = 1L;
public User() {
super();
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Integer id;
//*** Some other Fields
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinColumn(name="group_id")
private Group group;
//*** Setter and Getters
}
和集团:
@Entity
@Table(name="Groups")
public class Group extends AbstractEntity implements Serializable {
private static final long serialVersionUID = 1L;
public Group() {
super();
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Integer id;
@OneToMany(cascade = CascadeType.ALL)
private Set<User> users;
}
【问题讨论】:
-
什么是 UserManager 和 GroupNamager?他们的相关方法是如何实现的?请注意,您的双向关联未正确映射。 OneToMany 必须有
mappedBy="group"。
标签: java database hibernate orm mapping