toString() 方法在 Hibernate 中加载惰性字段

toString() method loads lazy fields in Hibernate

休眠。我有一个带有惰性字段的 class。我从数据库中获取了一个实体,但没有加载它,但是当我使用 entity.toString() 时,这个字段是由 JPA 加载的。如何避免这种行为?如果字段为空,我只想得到空值。

如果您使用的是 Hibernate,您可以检查该字段是否未初始化:

Hibernate.isInitialized(myproperty)

在您的 toString() 实现中使用此方法。

我认为这是因为您重新定义了 toString () 方法并包含了惰性字段。我有这样一段令人震惊的历史。没有这些字段需要重新定义toString()方法