我有一个类的实例,它是从Hibernate会话中获取的。那个会话已经结束了。现在,我正在调用
我不想使加载急切,因为它会将查询从大约120个字符变成超过4KB(带有八个连接)。而且我也不需要:我只想在
所以我的问题是:如何处理这种情况?永远不要尝试在
toString()
,并且得到了预期的LazyInitializationException: could not initialize proxy - no Session
,因为我试图访问Hibernate在加载实例时没有解析的引用(延迟加载)。我不想使加载急切,因为它会将查询从大约120个字符变成超过4KB(带有八个连接)。而且我也不需要:我只想在
toString()
中显示引用对象的ID;也就是说,Hibernate此时需要知道的东西(否则它无法进行延迟加载)。所以我的问题是:如何处理这种情况?永远不要尝试在
toString()
中使用引用吗?还是在加载代码中调用toString()
以防万一?或者在Hibernate中是否有一些实用函数,当我传递一个可能是懒惰的引用时,它会返回一些有用的东西?还是完全避免在toString()
中使用引用?