在某些实体之间具有m:n的真实世界关系,例如用户< --->组 现在我想建模这种关系并根据它存储其他信息,例如一个领域“质量”。
我听说我必须创建一个新的连接表user_group,如下所示:
id | user_ref | group_ref | quality
----------------------------------
1 1 1 0.5
2 1 2 1.3
... ... ... ...
相应的实体有两个相关实体(私有成员)用户和组,用 @ManyToOne 注释注释。 另一方面,我的用户和我的组都有一组相关的user_group-entities,都是私有成员,并使用 @OneToMany -annotation进行声明。
我有三个问题:
...
EntityManager em = ...
...
em.getTransaction().begin();
User u = new User("Pete");
Group g = new Group("Anonymous workaholics")
UserGroup ug = new UserGroup();
ug.addUser(u);
ug.addGroup(g);
em.persist(u); em.persist(g); em.persist(ug);
em.getTransaction().commit();
em.close()
非常感谢!
答案 0 :(得分:1)
addUser()
和addGroup()
方法应命名为setUser()
和setGroup()
:给定的{{只有一个用户和一个组{ 1}}。我还会为实体本身使用另一个名称。例如“会员”之类的东西。