我有两个对象,它们是互相引用。一个用户拥有组的列表,以及一个集团它有一个管理员:OneToMany关系不反映在数据库使用休眠
@Entity
@Table(name="User")
class User {
@OneToMany(mappedBy="admin")
List<Group> ownedGroups;
}
@Entity
@Table(name="\"Group\"") // Group is a reserved word, use \" as a work-around
public class Group implements Serializable {
@NotNull
@ManyToOne
@JoinColumn(name = "admin_id", referencedColumnName = "id")
private User admin;
User admin;
}
有一组控制器,我写了一堆的端到端测试它。在其中一项测试中,我创建了一个组并测试管理员是我期望的用户。
Assert.assertEquals("wrong number of groups created for the admin", 1, user.getOwnedGroups().size());
虽然与DB玩弄,我发现有一个在User
表中没有owneddGroups
场,并有此关系创建任何User_Group
表。我不知道这个领域是如何坚持在数据库然后呢?
并且您没有使用'@ Table'注释?如果使用,请将该部分也放入。 –
我将它添加到原始帖子中。 –
这是你的完整的用户和组实体如果是这样的ID?主键 – Ashish451