identity和assigned 的区别||org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save():
链接:https://blog.csdn.net/weixin_36380516/article/details/53726045
(侵删)
项目:
struts+hibernate
错误信息:
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save():
原因:
id将uuid设置成assigned产生
修改方法:
assigned是自己分配id 系统不会分配 所以在后台进行save()时进行赋值
判断所存储的类有没有id 如果没有则为它赋值 这里赋的值为一个随机生成的UUID
String oid = time.getId(); if(oid == null || "".equals(oid)) { time.setId(UUID.randomUUID().toString()); } return TimeService.merge(time);
在用Hibernate的时候,当有表中的主键是库自动生成的时候将使用identity。而当是自己添加的时候则需要改为assigned。因为assigned是指指定的,分配的, 如果你不赋予他值,那么他是不能实现的. 需要人工,自己把某个东西赋予给它 所以是assigned 。

浙公网安备 33010602011771号