Управляемая контейнером транзакция с JDO / DataNucleus - PullRequest
0 голосов
/ 03 февраля 2011

Доброе утро всем,

Я сейчас играю с Datanucleus / JDO. Одна вещь, которая мне нравится, - это система запросов Type safe, и я хочу использовать Datanucleus в будущих проектах (я из Hibernate). Я хочу позволить контейнеру (JBOSS 5) управлять транзакцией, и я определил источник данных, следуя инструкциям пользователя datanucleus ( datanucleus forum thread ), единственная проблема заключается в том, что я не могу понять, как получите JDOPersistenceManager, все, что я получу из поиска jndi, - это PersistenceManager, если я попробую приведение к JDOPersistenceManager, я получу ClassCastException. Мне нужен JDOPersistenceManager, чтобы получить типобезопасный запрос ... Моя конфигурация такая же, как описано в теме ..

Кто-то сталкивался с такой же проблемой раньше? И я тоже брожу, ЕСЛИ это вообще возможно ...

Спасибо за ответы!

1 Ответ

1 голос
/ 04 февраля 2011

Никогда не было времени попробовать его под JCA, поэтому нет очевидной точки доступа для получения базового JDOPersistenceManager ... однако попробуйте что-то вроде этого

JDOPersistenceManager jdopm = 
    ((JDOTransaction)pm.getCurrentTransaction()).getPersistenceManager();

, и если это сработает, у вас есть обходной путьмы предоставляем метод доступа в классе org.datanucleus.jdo.connector.PersistenceManagerImpl для JDOPersistenceManager

...