Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用hibernate在数据库中更新时如何避免重复记录_Java_Database_Hibernate_Java Ee 6_Hibernate Mapping - Fatal编程技术网

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

Java 使用hibernate在数据库中更新时如何避免重复记录,java,database,hibernate,java-ee-6,hibernate-mapping,Java,Database,Hibernate,Java Ee 6,Hibernate Mapping,我正在用数据库中的多个条目一次更新记录。当我尝试创建另一个多个记录时,重复的条目会保存在数据库中。如何使用hibernate防止记录重复条目。我想限制2个或更多列的值不应像以前一样相等定义主键,或至少是唯一约束,在桌面上,这是避免重复的最可靠的方法。然后,代码将抛出一些有用的错误,以便正确处理事务。使用唯一约束定义实体对象 @Entity @Table(name="user_group", uniqueConstraints = {@UniqueCo

我正在用数据库中的多个条目一次更新记录。当我尝试创建另一个多个记录时,重复的条目会保存在数据库中。如何使用hibernate防止记录重复条目。我想限制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();

相关代码呢?您的插入方法是否已同步?@sureshatta用于一个市场id,我每月创建4个条目,如2013年8月1日至2013年8月31日。当我选择与其他日期(如2013年8月15日至2013年9月18日)相同的市场id时,允许以前的条目重复entry@JunedAhsanno insert methods not Synchronized在插入条目之前,您可以使用
Map
对中的现有条目检查其唯一性数据库我的主键id是唯一的…除了id和marketcode之外,我在数据库中插入的数据是相同的。我尝试使用uniqueconstraint…但没有成功