我有一个从 Hibernate 会话中获得的类的实例。那个会议早就过去了。现在,我正在打电话toString()
,我得到了预期LazyInitializationException: could not initialize proxy - no Session
,因为我试图访问 Hibernate 在加载实例期间没有解析的引用(延迟加载)。
我真的不想让加载变得急切,因为它会将查询从大约 120 个字符更改为超过 4KB(有 8 个连接)。而且我不必:我只想显示toString()
被引用对象的 ID;即 Hibernate 在这个时间点需要知道的东西(或者它不能做延迟加载)。
所以我的问题是:你如何处理这个案子?永远不要尝试在toString()
? 或者您是否调用toString()
加载代码以防万一?或者 Hibernate 中是否有一些实用函数,当我向它传递一个可能是惰性的引用时,它会返回一些有用的东西?还是您toString()
完全避免引用?