在某些实体(例如用户<-->组)之间有一个m:n的现实世界关系,现在我想建立这种关系的模型,并根据它存储附加信息,例如一个字段“质量”。
我听说我必须创建一个新的联接表user_group,如下所示:
id | user_ref | group_ref | quality
----------------------------------
1 1 1 0.5
2 1 2 1.3
... ... ... ...相应的实体有两个相关实体(私有成员)用户和组,并使用@ManyToOne-annotation.注释。另一方面,我的用户和我的组都有一组相关的user _ group实体,它们都是私有成员,并且使用@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()非常感谢!
发布于 2013-04-30 11:59:32
addUser()和addGroup()方法应该命名为setUser()和setGroup():给定的UserGroup只有一个用户和一个组。我还会为实体本身使用另一个名称。比如“会员”之类的东西。https://stackoverflow.com/questions/16299261
复制相似问题