如何在STS IDE中调试Java的JPA Projection并查看属性值?
JPA Projections调试查看属性值方案
可以在STS调试模式下查看ProjectionOP的name、date等属性值,问题根源是JPA接口投影基于动态代理类实现,调试器默认展示代理内部结构而非业务属性,以下是具体解决方法:
直接调用getter表达式查看
在调试的「Expressions」窗口中输入projectionOp.getName()或projectionOp.getDate(),即可实时获取对应属性的实际值。配置STS调试器显示代理目标属性
- 打开STS的「Debug Configurations」(Run > Debug Configurations)
- 找到你的Java应用配置,切换到「Debugger」标签页的「Java」子项
- 勾选「Show proxy objects as their target class」(部分版本可能表述为「Display proxy objects with their target class」)
- 保存配置后重启调试,就能直接在变量窗口看到投影接口的属性值
用Inspect功能查看代理内部存储
右键点击调试窗口中的projectionOp对象,选择「Inspect」,在弹出的检查窗口中可以查看代理类的内部存储字段(比如Hibernate实现的投影代理会将属性存在properties或类似Map结构中),直接展开就能看到属性键值对。
内容的提问来源于stack exchange,提问作者Talenel
相关产品推荐
相关产品推荐

