Java 是否可以在不迭代的情况下加载具有所有惰性属性的对象?
我有一个对象,它有子对象,一些子对象加载了懒对象,一些子对象没有。现在我遇到了这样的情况:我需要一个父对象来同时加载所有子对象。有没有不检查Hibernate.i初始化所有属性的快速方法Java 是否可以在不迭代的情况下加载具有所有惰性属性的对象?,java,hibernate,lazy-loading,Java,Hibernate,Lazy Loading,我有一个对象,它有子对象,一些子对象加载了懒对象,一些子对象没有。现在我遇到了这样的情况:我需要一个父对象来同时加载所有子对象。有没有不检查Hibernate.i初始化所有属性的快速方法 谢谢我会使用Hibernate.initialize..,但您也可以使用ObjectOutputStream或XMLEncoder序列化对象。序列化机制将迭代所有属性,并对它们进行初始化。您可以使用commons lang SerializationUtils。如何获取对象 通常称为对象“水合”的一般方法是请求
谢谢我会使用Hibernate.initialize..,但您也可以使用ObjectOutputStream或XMLEncoder序列化对象。序列化机制将迭代所有属性,并对它们进行初始化。您可以使用commons lang SerializationUtils。如何获取对象 通常称为对象“水合”的一般方法是请求连接获取。在这里,ORM通过使用连接在检索子对象数据的同时检索父对象数据,并使用该数据急切地初始化子对象 请求加入获取的方法有多种,主要是特定于提供程序的,但您可以:
但是,请注意,这将多次返回每个父级,返回的次数与它有子级的次数相同。这有点奇怪,但这就是它的工作原理。我同意Tom的观点,我使用fetch连接返回我想要初始化的子对象。至于返回多个父对象的查询,我认为添加一个DISTINCE子句应该可以解决这个问题。thanx用于回复,但对于Hibernate.initializeproperty,我仍然必须给出一个我希望避免的属性。序列化这件事可能行得通,。但这似乎是一种黑客解决办法来实现这一点?
select p from Parent p join fetch p.children where ...