Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
HIBERNATE:NotUniqueObjectException在插入新的autoicnremnteID对象之后_Hibernate - Fatal编程技术网

HIBERNATE:NotUniqueObjectException在插入新的autoicnremnteID对象之后

HIBERNATE:NotUniqueObjectException在插入新的autoicnremnteID对象之后,hibernate,Hibernate,我有一个自动递增Id(int)的sql表 插入新记录时,在JSF bean的方法中: 我创建了一个新对象p=new Prop();然后设置除id之外的所有小数点,并将i提交给会话:session.save(p); 这是第一个记录; 当插入第二条或多条记录时,如果我创建了一个新对象,我也有NotUniqueObjectException; 如何避免这种情况?您可以在hibernate中设置id生成策略 @Id @GeneratedValue(strategy=GenerationType.AUTO

我有一个自动递增Id(int)的sql表 插入新记录时,在JSF bean的方法中: 我创建了一个新对象p=new Prop();然后设置除id之外的所有小数点,并将i提交给会话:session.save(p); 这是第一个记录; 当插入第二条或多条记录时,如果我创建了一个新对象,我也有NotUniqueObjectException;
如何避免这种情况?

您可以在hibernate中设置id生成策略

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;

在使用hibernate时,我们必须在hibernate中定义自动增量类型 如果您使用的是hbm映射,请执行以下操作

对于hbm映射:

<id name="id" type="java.lang.Long">
            <column name="ID" />
            <generator class="identity" />
        </id>

您在hibernate中设置了id生成策略吗?它仍然不起作用;现在我可以看到,这只适用于第一条记录,因为它创建了一个id为0的对象,并将其写入数据库;每次我创建一个新对象,它都会用id=0再次创建它,所以我不能写新记录……现在它是:@id@Column(name=“cod”,unique=true,nullable=false)@GeneratedValue(strategy=GenerationType.AUTO)private int-cod;映射文件是:我正在使用tomcat和mysql;请看我现在使用的例子:在回答中张贴它,除了你自己
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)