Я хочу разработать Java EE-приложение с JPA (реализация EclipseLink) и PostgreSQL в качестве базы данных.JPA, EclipseLink, PostgreSQL и схемы
Я выбрал одну базу данных и несколько схем, вместо того, чтобы иметь кратность баз данных и одну схему для каждой базы данных.
Итак, в моем persistence.xml у меня есть что-то вроде этого:
<persistence-unit name="00" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>todo</jta-data-source>
<class>...</class>
<class>...</class>
<properties>
<property name="javax.persistence.target-database" value="PostgreSQL" />
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/testdb;create=true" />
<property name="javax.persistence.jdbc.user" value="user" />
<property name="javax.persistence.jdbc.password" value="userpwd" />
</properties>
</persistence-unit>
<persistence-unit name="01" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>todo</jta-data-source>
<class>...</class>
<class>...</class>
<properties>
<property name="javax.persistence.target-database" value="PostgreSQL" />
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/testdb;create=true" />
<property name="javax.persistence.jdbc.user" value="user" />
<property name="javax.persistence.jdbc.password" value="userpwd" />
</properties>
</persistence-unit>
можно легко ссылаться на устойчивость блока:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("01");
EntityManager em = emf.createEntityManager();
, но как я могу хранить информацию о схемах в persistence.xml ? Я хочу получить доступ к схеме 00
или 01
в базе данных testdb
.
Возможно, я могу изменить схему через собственный SQL-код напрямую, но есть ли способ привязать схему к единице непрерывности?
Спасибо
Возможный дубликат [JPA - EclipseLink - Как изменить схему по умолчанию] (http://stackoverflow.com/questions/3211138/jpa-eclipselink-how-to-change-default-schema) –
Вы правы, извините –