有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在使用hibernate更新数据库时避免重复记录

我正在用数据库中的多个条目一次更新记录。当我尝试创建另一个多个记录时,重复的条目保存在DB中。如何使用hibernate防止记录重复条目。我想限制2个或更多列的值不应像以前一样相等


共 (2) 个答案

  1. # 1 楼答案

    在表上定义主键或至少是唯一约束是避免重复的最可靠的方法。然后,您的代码将抛出一些有用的错误,以便您正确处理事务

  2. # 2 楼答案

    使用唯一约束定义实体对象

        @Entity
        @Table(name="user_group", 
                  uniqueConstraints = {@UniqueConstraint(columnNames = {"user_id", "group_id"})})
        public class UserGroup implements Serializable
        {
    
             User user //This is user model
             Group group // This is Group model 
                 // Other fields
                 // setter and getter methods.
    
        }
    

    在事务中保存对象

     Session session = sessionFactory().openSession();
     session.beginTransaction();
     session.saveOrUpdate(listOfuserGroup);
     session.getTransaction().commit();