Spent Yesterday and today drawing up a schema for www.justcars.ie Ireland’s newest and hottest place to source your car.
To create this schema I wanted to get hibernate generate it via the POJOs I create. I am using annotations. So here is what i did:
Step One:
Create the POJO:
@Entity
public class Manufacteur {
@Id
private Integer manufacteurlId;
…..
}
Make sure you import javax.persistence.*; & not the more intuitive sounding hibernate one .
Step Two:
I am using a hibernate.cfg.xml for neatness:
<hibernate-configuration>
<session-factory name=”justCarsSessionFactory”>
<property name=”hibernate.connection.driver_class”>org.gjt.mm.mysql.Driver</property>
<property name=”hibernate.connection.password”>yourPassword</property>
<property name=”hibernate.connection.url”>jdbc:mysql://localhost:3306/YourScehma</property>
<property name=”hibernate.connection.username”>YourUsername</property>
<property name=”hibernate.default_schema”>jYourScehma</property>
<property name=”hibernate.dialect”>org.hibernate.dialect.MySQL5Dialect</property>
<property name=”show_sql”>true</property>
<property name=”hibernate.format_sql”>true</property>
<property name=”hibernate.hbm2ddl.auto”>create-drop</property>
<mapping package=”com.zeninvent.justcars.business”/>
<mapping class=”com.zeninvent.justcars.business.Manufacteur”/>
</session-factory>
</hibernate-configuration>
Change the pieces in bold as appropriate.
Step Three servlet:
Ensure your session factory bean if you are using annotations is using the AnnotationSession otherwise you will get an “Annotation Instance required ” exception.
Point the session factory to your hibernate.cfg.xml
<bean id=”sessionFactory” class=”org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean”>
<property name=”configLocation”><value>/WEB-INF/hibernate.cfg.xml</value></property>
<property name=”schemaUpdate”><value>true</value></property>
</bean>
Step Four:
Depoly & hey Presto hibernate is creating your schema!