java - EclipseLink sql load script is not working -


i'm using eclipselink in intelij idea , i'm trying setup testing persistence unit rebuilds database every time tests run , populates database seed data.

this persistence unit in persistence.xml:

<persistence-unit name="testingunit">         <class>org.cba.entity.person</class>         <class>org.cba.entity.infoentity</class>         <class>org.cba.entity.company</class>         <class>org.cba.entity.hobby</class>         <class>org.cba.entity.phone</class>         <class>org.cba.entity.address</class>         <class>org.cba.entity.cityinfo</class>         <properties>             <property name="eclipselink.jdbc.url" value="jdbc:mysql://localhost:3306/cba_ca1_test"/>             <property name="eclipselink.jdbc.driver" value="com.mysql.jdbc.driver"/>             <property name="eclipselink.jdbc.user" value="root"/>             <property name="eclipselink.jdbc.password" value=""/>             <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>             <property name="javax.persistence.sql-load-script-source" value="populate.sql"/>         </properties> </persistence-unit> 

the populate.sql located in resources folder meta-inf folder persistence.xml.

when use settings database dropped , created every time, populate.sql not being loaded.

when write properties this:

<properties>             <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/cba_ca1_test"/>             <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.driver"/>             <property name="javax.persistence.jdbc.user" value="root"/>             <property name="javax.persistence.jdbc.password" value=""/>             <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>             <property name="javax.persistence.sql-load-script-source" value="populate.sql"/> </properties>  

everything works (drop , create , loading of populate.sql), execution takes ages. first settings runs in few seconds , second runs minutes.

and problem not populate.sql file contains 3 sql inserts.

i think it's because use intellij idea generated eclipselink.* properties. , intelij somehow optimizes settings uses eclipselink.* naming.

anybody knows how make work, doesn't take several minutes?

these jpa , mysql dependencies:

<dependency>             <groupid>mysql</groupid>             <artifactid>mysql-connector-java</artifactid>             <version>5.1.6</version>         </dependency>         <dependency>             <groupid>org.eclipse.persistence</groupid>             <artifactid>org.eclipse.persistence.jpa</artifactid>             <version>2.7.0</version>         </dependency> 

i have activated framework support eclipselink in intellij.

update:

i added logging property

<property name="eclipselink.logging.level" value="fine"/> 

and discovered, after drop (which happenes quickly) new connection established each creating table.

then inserting again pretty quick.


Comments

Popular posts from this blog

neo4j - finding mutual friends in a cypher statement starting with three or more persons -

php - How to remove letter in front of the word laravel -

minify - Minimizing css files -