我有两个表是 USER 实体有
@OneToMany
@JoinTable(name="user_roles")
private List<Role> roles;
角色实体有用户
@ManyToOne
private User user;
表 user_role 的描述是
Name Null
USER_RECORD_ID NOT NULL NUMBER(19)
ROLE_RECORD_ID NOT NULL NUMBER(19)
注意:一个用户可以有多个角色,我已经通过脚本创建了角色,有 ID:10001、10002、10003 等
在 user_role 角色表中,我插入了一个具有所有角色的用户 800001,因此该表看起来像
USER_RECORD_ID ROLE_RECORD_ID
800001 10001
800001 10002
800001 10003
800002 10001 ///This record will through me unique constraint error
因此,如果我尝试将角色分配给预定义角色的新用户,它会通过我这个错误
INSERT INTO USER_ROLE(USER_RECORD_ID,ROLE_RECORD_ID) VALUES(800002,10001)
错误报告 - SQL 错误:ORA-00001:违反唯一约束 (SYSTEM.UK_LPLHY51JOJA1LP4465QK2E0AF) 00001。 00000 - “违反唯一约束 (%s.%s)” *原因:UPDATE 或 INSERT 语句试图插入重复键。对于在 DBMS MAC 模式下配置的 Trusted Oracle,如果在不同级别存在重复条目,您可能会看到此消息。*操作:要么删除唯一限制,要么不插入密钥。