2014-07-29 3 views
0

Я работал с базой данных Ingres и проблем там не возникало. Я настроил свою базу данных MySQL с двумя схемами/каталогами в одном и том же порту, один для производителей, а другой для тестирования. В persistence.xml файле, я имею следующую конфигурацию:JPA persistence.xml и MySQL - Неправильный каталог «hibernate.connection.url»

<persistence-unit name="my_schema"> 
    ... classes ... 

    <properties> 
     <property name="hibernate.connection.url" value="jdbc:mysql://URL:3306/my_schema"></property> 
     <property name="hibernate.connection.username" value="my_user"></property> 
     <property name="hibernate.connection.password" value="my_pass"></property> 
     <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"></property> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"></property> 
     <property name="hibernate.connection.nombre" value="my_schema" /> 

    </properties> 
</persistence-unit> 
Классы

Мои Java Entity имеют следующие определения и аннотации:

/** 
* Constante generated by hbm2java 
*/ 
@Entity 
@Table(name = "CONSTANTE", catalog = "my_schema") 
public class Constante implements java.io.Serializable { 
    .... 
} 

Когда я работал в Ingres, если бы я хотел для изменения схемы/каталога, мне нужно было только изменить свойство «hibernate.connection.url» в persistence.xml:

<property name="hibernate.connection.url" value="jdbc:mysql://URL:3306/my_schema_2"> 

В MySQL я должен изменить аннотацию «» в каждом классе. Есть ли более простой или более практичный способ сделать это? Фактически, в MySQL я могу написать все, что захочу в части схемы URL, и программа продолжает работать.

ответ

0

Как ваш класс объектов был сформирован из схемы:

/** 
* Constante generated by hbm2java 
*/ 

вы можете просто удалить запись каталога в таблице аннотацию:

@Entity 
@Table(name = "CONSTANTE") 
public class Constante implements java.io.Serializable { 

Тогда, как вы испытывали раньше, если вам нужно изменить схему, просто измените значение hibernate.connection.url.

+0

Он отлично работает, но ... возможно ли генерировать классы без аннотации каталога, а не удалять их вручную в каждом классе? – user2508640

+0

решил с этим решением, спасибо! http://stackoverflow.com/questions/1218028/running-hibernate-tool-annotation-generation-without-the-catalog-attribute – user2508640

Смежные вопросы