[英]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.