This question already has an answer here:
What does JPA @UniqueConstraint do in Hibernate?
                                
                                    (1个答案)
                                
                        
                                3年前关闭。
            
                    
在以下实体中,我想在db中进行唯一写入,但是直到我在db表中进行设置之前,它似乎没有任何作用。甚至更多-如果我删除了该注释,那么如果在表中进行了设置,它仍然可以工作。

@Entity
@Table(name = "score_record", catalog = "solardb", uniqueConstraints =  {
        @UniqueConstraint(columnNames = { "topic_id", "user_id" }) })
public class ScoreRecord {
    private Integer recordId;
    private Integer userId;
    private Integer score;


那么@UniqueConstraint的实际目的是什么?它像“提醒”一样工作吗?

最佳答案

当您使用现有的userId / recoreId保存另一个ScoreRecord时,它将引发错误。这些列还将在数据库中具有约束键(用于迁移等)

07-27 23:27