2013-12-10 10 views
6

Guida, desidero il riferimento alle proprietà xml di persistenza del mio file db.properties.Valori del campo Persistence.xml dal file delle proprietà

ecco il mio file db.properties

jdbc.driver=com.mysql.jdbc.Driver 
jdbc.url=jdbc:mysql://localhost:3306/apsas 
jdbc.username=root 
jdbc.password=password 

ed ecco il mio attuale persistence.xml

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" 
    version="2.0"> 
    <persistence-unit name="apsaspu" transaction-type="RESOURCE_LOCAL"> 
     <provider> 
      org.hibernate.ejb.HibernatePersistence 
     </provider> 
     <properties> 
      <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" /> 
      <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/apsas" /> 
      <property name="hibernate.connection.username" value="root" /> 
      <property name="hibernate.connection.password" value="password" /> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
      <property name="hibernate.show_sql" value="true" /> 
      <property name="hibernate.hbm2ddl.auto" value="update" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

quello che volevo fare è impostare la sua proprietà in come questo

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" 
    version="2.0"> 
    <persistence-unit name="apsaspu" transaction-type="RESOURCE_LOCAL"> 
     <provider> 
      org.hibernate.ejb.HibernatePersistence 
     </provider> 
     <properties> 
      <property name="hibernate.connection.driver_class" value="${jdbc.driver}" /> 
      <property name="hibernate.connection.url" value="${jdbc.url}" /> 
      <property name="hibernate.connection.username" value="${jdbc.username}" /> 
      <property name="hibernate.connection.password" value="${jdbc.password}" /> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
      <property name="hibernate.show_sql" value="true" /> 
      <property name="hibernate.hbm2ddl.auto" value="update" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

domanda è come posso importare il file delle proprietà nella mia persistenza xml Advance grazie per chi mi aiuterà ...

+0

stai lavorando con Maven? – kostja

+0

sì signore ........ –

risposta

3

Se si utilizza Maven, è possibile utilizzare fonte di filtraggio per questo. Utilizzare this docs come riferimento. Illustrerò un po 'il processo.

È necessario specificare il percorso di filtro. Non sono sicuro se devi definire esplicitamente i file inclusi.

<build> 
    ... 
    <resources> 
    <resource> 
     <directory>src/main/resources/META-INF</directory> 
     <filtering>true</filtering> 
     <includes> 
     <include>**/*.xml</include> 
     </includes> 
    </resource> 
    ... 
    </resources> 
    ... 
</build> 

La directory si definisce è relativo al pom.xml.

È ora possibile definire le proprietà Maven regolari per sostituire i segnaposto nel vostro persistence.xml

Se si desidera avere le proprietà di un file .properties separata, è necessario dire a Maven, dove trovare quel file:

<filters> 
    <filter>db.properties</filter> 
</filters> 

filtraggio avviene sul mvn resources:resources. Questo passaggio è definito per tutti gli obiettivi di packaging che verranno eseguiti sulla distribuzione.

È possibile utilizzare i profili Maven per passare da un insieme di proprietà a un file .properties.

+0

Provo a passare dal filtro delle risorse al file vars e alle proprietà del sistema. [Questo ragazzo spiega perché] (http://stackoverflow.com/a/1634545/660408) – gkiko

Problemi correlati