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
Java 这些休眠对象有何不同?_Java_Hibernate_Hibernateexception - Fatal编程技术网

Java 这些休眠对象有何不同?

Java 这些休眠对象有何不同?,java,hibernate,hibernateexception,Java,Hibernate,Hibernateexception,可能重复: 为什么我在Hibernate异常中得到的某些对象在用@符号打印出来时会出现这样的情况: 无法删除对象 db.item.model。Inventory@21d321bb 但有些看起来是这样的: org.hibernate.unUniqueObjectException: 具有相同属性的不同对象 标识符值已被删除 与会议相关的: [db.项目.模型.库存#9369629] 标识符位于#symbol?之后db.item.model。Inventory@21d321bb指内存地址 db.i

可能重复:

为什么我在Hibernate异常中得到的某些对象在用@符号打印出来时会出现这样的情况:

无法删除对象


db.item.model。Inventory@21d321bb

但有些看起来是这样的:

org.hibernate.unUniqueObjectException: 具有相同属性的不同对象 标识符值已被删除 与会议相关的: [db.项目.模型.库存#9369629]


标识符位于#symbol?之后

db.item.model。Inventory@21d321bb指内存地址


db.item.model.inventory9369629是指ID为9369629的实体。

db.item.model。Inventory@21d321bb指内存地址

db.item.model.Inventory#9369629表示ID为9369629的实体。

在#之后的标识符是表中对象的主键

将具有相同标识符(主键)的两个对象添加到会话中时,会发生UnuniqueObjectException


db.item.model。Inventory@21d321bb是通过默认的equals方法输出的,即Object.equals()。

在#之后的标识符是表中对象的主键

将具有相同标识符(主键)的两个对象添加到会话中时,会发生UnuniqueObjectException


db.item.model。Inventory@21d321bb由默认的equals方法输出,即Object.equals()。

db.item.model。Inventory@21d321bb这是一个特定的例子。
[db.item.model.Inventory#9369629]是两个或多个具有@Id 9369629的实例。

db.item.model。Inventory@21d321bb这是一个特定的例子。
[db.item.model.Inventory#9369629]是两个或多个具有@Id 9369629的实例。

但它们可以是相同的对象,不是吗?它们当然可以,只是与异常消息文本不一致。判断它们是否引用相同ID的最佳方法是使用调试器或将ID属性写入控制台。但它们可以是相同的对象,不是吗?它们确实可以,只是与异常消息文本不一致。判断它们是否引用相同ID的最佳方法是使用调试器或将ID属性写入控制台。