Я загрузил пример приложения, использующего Hibernate и JPA, проблема заключается в блоке сохранения. Кажется, я могу использовать либо <persistence-unit name="hibernatePersistenceUnit" transaction-type="RESOURCE_LOCAL">
, либо <persistence-unit name="hibernatePersistenceUnit" transaction-type="JTA">
. Из моего исследования я обнаружил, что если я использую первое, мне также нужно указать <non-jta-data-source>
, а со вторым <jta-data-source>
(я думаю, что это правильно, но поправьте меня, если я ошибаюсь)
Я думаю, что первый подразумевает, что URL, драйвер, пользователь, pwd будут настроены в веб-приложении. А второй будет искать источник через JNDI в контейнере (опять же поправьте меня, если я не прав) Но значение, которое мне нужно указать для этого свойства, является моим камнем преткновения. Я видел jdbc:sampleDS, java:sampleDS. (Это тоже поиск jndi? Не видел jndi:sampleDS) Так должен ли это быть jdbc: или java: или jndi: и все ли это «JNDI»?
А «sampleDS», к чему на самом деле относится это имя? Другими словами, относится ли это к имени bean-компонента (я использую spring, и мой bean-компонент, который настраивает информацию об источнике данных, называется jpaDataSource), если я использую resource_local, или он ссылается на ресурс jndi где-то на сервере приложений, например, JBOSS, или что-то еще, чего я не знаю?