org.hibernate.id.IdentifierGenerationException: Hibernate异常

异常信息:

org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): com.geore.pojo.linkman.LinkMan
	at org.hibernate.id.Assigned.generate(Assigned.java:34)

  上面的异常信息显示在com.geore.pojo.linkman.LinkMan中的id值,在save()方法调用之前,必须手动的输入。那么造成这个的原因可能就是在Hibernate的实体类的xml的配置中对于主键的生成策略没有配置。因此有可能导致出现这样的问题。

 

出错代码:

1 <id name="lid" column="lid"></id>

正确配置:

1 <id name="lid" column="lid">
2     <generator class="uuid"></generator>
3 </id>

所以解决的方案就是在Hibernate的实体类的配置文件中给出主键的生成策略(如上)或者另一种解决的办法,主键不通过Hibernate生成,由自己给出,如下:

linkman.setLid(UUID.randomUUID().toString().replace("-", ""));

 

posted @ 2017-09-10 15:08  Geore  阅读(183)  评论(0编辑  收藏  举报