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

Java 是否可以在不迭代的情况下加载具有所有惰性属性的对象?

Java 是否可以在不迭代的情况下加载具有所有惰性属性的对象?,java,hibernate,lazy-loading,Java,Hibernate,Lazy Loading,我有一个对象,它有子对象,一些子对象加载了懒对象,一些子对象没有。现在我遇到了这样的情况:我需要一个父对象来同时加载所有子对象。有没有不检查Hibernate.i初始化所有属性的快速方法 谢谢我会使用Hibernate.initialize..,但您也可以使用ObjectOutputStream或XMLEncoder序列化对象。序列化机制将迭代所有属性,并对它们进行初始化。您可以使用commons lang SerializationUtils。如何获取对象 通常称为对象“水合”的一般方法是请求

我有一个对象,它有子对象,一些子对象加载了懒对象,一些子对象没有。现在我遇到了这样的情况:我需要一个父对象来同时加载所有子对象。有没有不检查Hibernate.i初始化所有属性的快速方法


谢谢

我会使用Hibernate.initialize..,但您也可以使用ObjectOutputStream或XMLEncoder序列化对象。序列化机制将迭代所有属性,并对它们进行初始化。您可以使用commons lang SerializationUtils。

如何获取对象

通常称为对象“水合”的一般方法是请求连接获取。在这里,ORM通过使用连接在检索子对象数据的同时检索父对象数据,并使用该数据急切地初始化子对象

请求加入获取的方法有多种,主要是特定于提供程序的,但您可以:


但是,请注意,这将多次返回每个父级,返回的次数与它有子级的次数相同。这有点奇怪,但这就是它的工作原理。

我同意Tom的观点,我使用fetch连接返回我想要初始化的子对象。至于返回多个父对象的查询,我认为添加一个DISTINCE子句应该可以解决这个问题。

thanx用于回复,但对于Hibernate.initializeproperty,我仍然必须给出一个我希望避免的属性。序列化这件事可能行得通,。但这似乎是一种黑客解决办法来实现这一点?
select p from Parent p join fetch p.children where ...