Rob*_*_UK 5 java debugging spring hibernate intellij-idea
当我使用 Intellij 跨过休眠对象时,对象在调试窗口中显示为空。标记为$$_hibernate_interceptor
假设我有一些简单的代码,如下所示
Subscription subscription = subscriptionRepository.getOne(1l);
log.info("add breakpoint debug code stopped here")
Run Code Online (Sandbox Code Playgroud)
我想查看从 subscriptionRepository 返回哪些值并分配给窗口内的订阅对象Debug:。
请参阅屏幕截图,显示它在我的计算机上的样子。
正如您所看到的,大多数变量值似乎都是空的,但是如果我对订阅对象执行 toString() ,它将输出在拦截器窗口中标记为 null 的值。所以它们并不是真正空的。
这里有几个问题
$$_hibernate_interceptor 进一步的发现
仅当我使用默认值时才返回拦截器repository.getOne。如果我使用 findBy 或我自己的 findByField,它不会调用拦截器并在调试窗口中显示值。
这里发生了什么,为什么 getOne 显示拦截器而其他的不显示?
| 归档时间: |
|
| 查看次数: |
3839 次 |
| 最近记录: |