当我用intellij遍历hibnerate对象时,调试窗口中的对象似乎为空。标记为
$$_hibernate_interceptor
所以假设我有一些简单的代码,如下所示
Subscription subscription = subscriptionRepository.getOne(1l);
log.info("add breakpoint debug code stopped here")
我想看看从subscriptionrepository返回并分配给
Debug:
窗口。
请参阅屏幕截图,它显示了在我的计算机上这是什么样子。
正如您看到的,大多数变量值似乎是空的,但是如果我对订阅对象执行toString(),它将输出在inteceptor窗口中标记为空的值。所以它们不是真的空的。
所以这里有几个问题
进一步的发现
只有在使用默认值时才会返回拦截器
repository.getOne
. 如果我使用findby或我自己的findbyfield,它不会调用拦截器并在调试窗口中显示值。
这里发生了什么?为什么getone显示拦截器,而其他的不显示?