У меня есть запрос:Как использовать отложенную загрузку свойств с GlassFish + TOPLINK необходимости
select p from Product p
Что дает мне результаты, я ожидаю, но один из столбцов (назовем его massiveDescription
) является большим, и с тех пор Я запрашиваю полный список продуктов, которые я хочу исключить.
Я добавил @Basic(fetch=FetchType.LAZY)
в getMassiveDescription()
, но это не имело значения (сгенерированный sql все еще включает в себя все столбцы).
Я использую крупнокалиберную рыбку в большом количестве, и она использует основную основу. Я думал, что может быть что-то, что мне нужно было сделать, чтобы настроить агента, поэтому я попробовал добавить -javaagent:/path/to/toplink-essentials-agent.jar
в опции JVM через веб-интерфейс Glassfish. Тогда я получаю исключение:
java.lang.NoClassDefFoundError: javax/transaction/Synchronization
at ...
Так что я полагаю, что я должен добавить jta.jar
к коробке суффиксом классам в GlassFish веб-интерфейс. Это дает мне другое исключение:
java.lang.NoClassDefFoundError: oracle/toplink/essentials/transaction/JTASynchronizationListener
at oracle.toplink.essentials.transaction.JTATransactionController.<init>...
Так что теперь я преследую банки. Я также добавляю toplink-essentials.jar
в путь к классам, но все равно получаю то же исключение.
У меня есть несколько вопросов:
- ли GlassFish должен поддерживать повышение байткода для загрузки ленивой собственности из коробки?
- Если нет, не могу ли я правильно настроить его?
- Я читал, что «рекомендуемый» способ достижения этого - использовать проект для выбора только части объекта в запросе. Мне это нравится, но я не могу найти документацию о том, как это сделать. Перестановка
select p
дляselect p.id, p.name, ...
дает мне странные ошибки - но я все равно угадывал синтаксис.
Draemon, переключение с TLE на Eclipselink очень просто, и вы не пожалеете! – fvu
Не совсем. GF выплюнул некоторые довольно запутанные сообщения для начала. Проблемы с загрузкой и политикой (некоторые из которых до сих пор не отсортированы). Конечно, у GF3 нет этой проблемы, но я не хотел переключаться. – Draemon