0
當我試圖使用Hibernate保存一個實體,它給MySQLIntegrityConstraintViolationException: Duplicate entry '2' for key ...
MySQLIntegrityConstraintViolationException:重複錄入例外@JoinTable休眠
這是關聯類首
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "selectedLanguages",
joinColumns = @JoinColumn(name = "preferenceId"),
inverseJoinColumns = @JoinColumn(name = "languageId"))
private List<Language> languages;
聲明,這是在mysql服務器中創建表
CREATE TABLE `languages` (
`preferenceId` bigint(20) NOT NULL,
`languageId` int(11) NOT NULL,
UNIQUE KEY `UK_ipl1uqtuxu2oxu5pddfi6sebl` (`languageId`),
KEY `FKm18lbdrrxs89ff7pymjalc7ca` (`preferenceId`),
CONSTRAINT `FKhmgypuduucfqf98sf2ymorqpr` FOREIGN KEY (`languageId`) REFERENCES `languages` (`languageId`),
CONSTRAINT `FKm18lbdrrxs89ff7pymjalc7ca` FOREIGN KEY (`preferenceId`) REFERENCES `preferences` (`preferenceId`)
);
它顯示語言ID是唯一的,這不是作爲用戶的預期行爲可以知道一些語言和一種語言可以被許多用戶引用, 我試圖在inverseJoin
部分中添加unique=false
而沒有成功。 如何刪除languageId的唯一約束。我的代碼有什麼問題?任何幫助將不勝感激。請問你是否需要更多的數據信息