這是我的表,GameAdmin
:MySQL的3列唯一約束不工作,可能是由於NULL
game_id company_id user_id
1 5 NULL
1 5 NULL
1 NULL 2
1 NULL 3
1 NULL 3
它鏈接的遊戲,可以對其進行編輯(無論是企業或用戶)的實體。
我對所有列的UNIQUE
指數,但你可以看到如預期它不工作。
出了什麼問題?是因爲NULL
嗎?
我知道我可以使它通過改變結構的工作:
game_id admin_type admin_id
1 company 5
1 company 5
1 user 2
1 user 3
1 user 3
但是,這不符合我的JPA /休眠設置,或者至少是非常不方便的兼容,因爲它不允許我設置這樣的關係:
@ManyToOne(optional=true)
private User user;
@ManyToOne(optional=true)
private Company company;
我不認爲這會奏效。它會違反外鍵約束,並可能跳過Hibernate。無論如何,我已經找到了合適的解決方案:P但是感謝您和我一起思考 – 2012-02-12 14:02:09