使用hibernate在DB中更新时如何避免重复记录

时间:2013-08-14 09:52:18

标签: java database hibernate java-ee-6 hibernate-mapping

我一次更新db中有多个条目的记录。当我尝试创建另外多个记录时,重复的条目保存在DB.how中以防止使用hibernate.i想要限制2或者重复条目的重复条目更多列值不应与之前相同

2 个答案:

答案 0 :(得分:1)

在表上定义主键或至少一个唯一约束是避免重复的最可靠方法。然后你的代码会抛出一些有用的错误,让你正确处理交易。

答案 1 :(得分:1)

使用Unique Constraints定义您的实体对象

    @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();