[英]How to use lazy property loading with glassfish + toplink essentials
我有一个查询:
select p from Product p
这给了我预期的结果,但是其中一列(我们称其为massiveDescription
)很大,并且由于我要查询的是产品的完整列表,因此我想排除它。
我在getMassiveDescription()
添加了@Basic(fetch=FetchType.LAZY)
, getMassiveDescription()
没有区别(生成的sql仍然包括所有列)。
我几乎是开箱即用的使用glassfish,它使用了toplink要素。 我以为可能需要做一些配置代理程序的工作,所以我尝试通过glassfish Web界面在JVM选项中添加-javaagent:/path/to/toplink-essentials-agent.jar
。 然后我得到一个例外:
java.lang.NoClassDefFoundError: javax/transaction/Synchronization
at ...
所以我想我需要在glassfish Web ui的classpath后缀框中添加jta.jar
。 那给了我一个不同的例外:
java.lang.NoClassDefFoundError: oracle/toplink/essentials/transaction/JTASynchronizationListener
at oracle.toplink.essentials.transaction.JTATransactionController.<init>...
所以现在我在追罐子。 我以相同的方式将toplink-essentials.jar
添加到类路径中,但是仍然遇到相同的异常。
我有几个问题:
select p
select p.id, p.name, ...
为select p.id, p.name, ...
会给我带来奇怪的错误-但是我只是在猜测语法。 事实证明toplink基本要素不支持此功能。 Eclipselink可以,所以看起来我正在移动ORM。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.