【发布时间】:2017-05-30 00:43:49
【问题描述】:
我的代码有一个大问题:
这是我的 UserAccount 类: https://github.com/Bodyash/pizzaria/blob/master/src/main/java/com/bodyash/pizzaria/bean/UserAccount.java
这是我的 UserAccountRole 类: https://github.com/Bodyash/pizzaria/blob/master/src/main/java/com/bodyash/pizzaria/bean/UserAccountRole.java
我使用@ManyToMany 关系,因为用户可以有多个角色,例如:
用户名:testuser
角色:管理员、DBA
但是当我创建一个新的 UserAccount.class 并尝试使用角色 User 持久化这个实体时 - 我有错误:
Hibernate:
insert
into
account
(PASSWORD, SSO_ID)
values
(?, ?)
Hibernate:
insert
into
account_role
(TYPE)
values
(?)
ERROR: Duplicate entry 'USER' for key 'UK_p90gi6g6phk4nka444jkxi9ik'
这都是因为我的表 (account_role) 填充了以下类型:
USER, DBA, ADMIN 我不需要再次将这个角色写入 TABLE,但 Hibernate ORM 尝试这样做。我只需要将一个新用户写入表并使用表 account_account_role 即可知道哪些角色拥有该用户。
对不起我的英语,我只是需要一点帮助。
更新:
异常的完整堆栈跟踪: pastebin.c o m / k061xxyV(抱歉,我不能发布超过 2 个链接)
【问题讨论】:
-
什么是错误或分享完整的堆栈跟踪可能会有所帮助。假设您通过应用程序插入值。
-
这里是完整的堆栈跟踪:pastebin.com/k061xxyV
标签: java spring hibernate spring-mvc