在hibernate中,我創建了用戶和角色之間的一對多關係。 多於一個用戶可以與一個角色關聯,但用戶只能與一個角色關聯。休眠不保留參照完整性
在用戶級,我有
@ManyToOne
@JoinColumn(name = "role_id")
private Role role_id;
在角色類,我有
@OneToMany(mappedBy="role_id", fetch=FetchType.LAZY)
private Collection<User> userList = new ArrayList<User>();
如果我保存一個新的用戶爲:
{
"userName" : "Michael",
"role_id" : {
"id" : 8
}
}
它甚至可以節省用戶當角色表沒有與id作爲8的角色(並且沒有條目在角色表中完成)。 我希望每當我用一個不存在的角色保存用戶時,我都應該得到一個引用完整性錯誤。 我應該改變什麼?
我的用戶表作爲創建:
CREATE TABLE `users` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`email` varchar(255) DEFAULT NULL,
`mobile` varchar(255) DEFAULT NULL,
`username` varchar(255) NOT NULL,
`role_id` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK_abcdef` (`role_id`),
CONSTRAINT `FK_abcdef` FOREIGN KEY (`role_id`) REFERENCES `role` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
請告知您如何堅持實體? – fg78nc