[jboss-user] [JBoss Tools] - Re: how can I reverse engineer and create POJOs from an existing database?
John Citizen
do-not-reply at jboss.com
Thu Mar 7 23:49:46 EST 2013
John Citizen [https://community.jboss.org/people/johnqcitizen] created the discussion
"Re: how can I reverse engineer and create POJOs from an existing database?"
To view the discussion, visit: https://community.jboss.org/message/801478#801478
--------------------------------------------------------------
You don't have to use eclipse plugins here. You can also use the hibernate plugin for maven, and generate mapping files and POJOs from the command line.
You would define a pom.xml file as follows (I've left out some of the normal POMN stuff here) :
<project>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<components>
<component>
<name>hbm2hbmxml</name>
<implementation>jdbcconfiguration</implementation>
<outputDirectory>target/generated-resources/hibernate3</outputDirectory>
</component>
<component>
<name>hbm2java</name>
<implementation>jdbcconfiguration</implementation>
<outputDirectory>target/generated-sources/hibernate3</outputDirectory>
</component>
</components>
<componentProperties>
<revengfile>drc/main/resources/reveng.xml</revengfile>
<propertyfile>src/main/resources/hibernate.properties</propertyfile>
<packagename>com.whatever.domain</packagename>
<jdk5>true</jdk5>
<ejb3>true</ejb3>
</componentProperties>
</configuration>
<dependencies>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc</artifactId>
<version>11.1.0.6.0</version>
</dependency>
</dependencies>
</plugin>
</plugin>
</build>
</project>
You will need to change the values for the JDBC dependency (I'm using oracle).
You will also need to define a src/main/resources/hibernate.propeties file:
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
hibernate.connection.url=jdbc:oracle:thin:@<server>:<port>:<instance>
hibernate.connection.username=<username>
hibernate.connection.password=<password>
using suitable values for <server>, <port>, etc.
And a src/main/resources/reveng.xml file to define your reverse engineering strategy, e.g.
?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering PUBLIC
"-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN"
" http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >
<hibernate-reverse-engineering>
<schema-selection match-schema="MY_SCHEMA"/>
</hibernate-reverse-engineering>
This specifies that only tables in the MY_SCHEMA schema are used for generating POJOs.
Then run the following from the command line to generate POJOs with annotations:
$ mvn hibernate3:hbm2java
If you want to generate mapping files and POJOs without annotations, change the <ejb3> tag in the pom.xm to the following:
<ejb3>false</ejb3>
then run the following:
$ mvn hibernate3:hbm2hbmxml
$ mvn hibernate3:hbm2java
This is just a taster. You will need to look up additional information to get this working.
Hope that helps.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/801478#801478]
Start a new discussion in JBoss Tools at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2128]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20130307/1ed86b98/attachment-0001.html
More information about the jboss-user
mailing list