Ну, вы можете получить доступ к базе данных:
- , предоставив URL / драйвер / пароль / и т.д.информация в
persistence.xml
с использованием свойств вашего провайдера jpa (в вашем случае hibernate.connection.*
) или стандартизированных javax.persistence.jdbc.*
в JPA 2.0 - это в основном похоже на приведенный вами пример, создать источник данных в ApplicationServer и просто сослаться на него в persistence.xml
(через имя JNDI, которое вы указываете при создании), что может выглядеть примерно так (без определения схемы XML для краткости):
<persistence>
<persistence-unit name="SomeApp">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/myDB</jta-data-source>
</persistence-unit>
</persistence>
То, что вы на самом деле делаете сейчас (с этими свойствами), использует JDBC.
Я бы определенно пошел с созданием источника данных вApplicationServer вместо предоставления его в свойствах в persistence.xml
.Он позволяет динамически изменять конечную базу данных, ее тип, учетные данные, управлять пулами соединений и т. Д., Даже не касаясь вашего дескриптора.
Это также безопаснее, поскольку учетные данные не записываются в простой файл, оставленный наваш сервер.
В качестве примечания, помните, что javax.persistence.jdbc.*
свойства являются JPA-провайдером обязательное требование для Java SE , но оно необязательно для Java EE .
Надеюсь, это поможет!