我有兩個對象,它們是互相引用。一個用戶擁有組的列表,以及一個集團它有一個管理員: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