Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.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_Hibernate_Immutability - Fatal编程技术网

Java 派生的Hibernate实体字段的设计模式-可变性问题

Java 派生的Hibernate实体字段的设计模式-可变性问题,java,hibernate,immutability,Java,Hibernate,Immutability,我目前正在编写一个代码,其中从DB加载的实体需要根据用例进行多次更新。我正在努力防止代码中的可变对象。考虑到hibernate的工作方式,我看到我别无选择,只能允许实体可变,以便调用setter来更新实体 有办法解决这个问题吗 不,实体本身是可变的,其中一个要点是对实体所做的更改透明地持久化到数据库。请注意,实体不应该在线程之间共享,每个会话都有自己的实体实例。谢谢@JBNizet。。代码没有在线程之间共享任何实体,更多的是从开发的角度来看,我试图看看是否可以在整个项目中使用不可变的对象。我认为

我目前正在编写一个代码,其中从DB加载的实体需要根据用例进行多次更新。我正在努力防止代码中的可变对象。考虑到hibernate的工作方式,我看到我别无选择,只能允许实体可变,以便调用setter来更新实体


有办法解决这个问题吗

不,实体本身是可变的,其中一个要点是对实体所做的更改透明地持久化到数据库。请注意,实体不应该在线程之间共享,每个会话都有自己的实体实例。谢谢@JBNizet。。代码没有在线程之间共享任何实体,更多的是从开发的角度来看,我试图看看是否可以在整个项目中使用不可变的对象。我认为除了实体之外,几乎所有其他用例都可以实现这一目标。。