1 minute read

Hibernate annotations - hibernate without the mapping files
note: you must use jdk1.5, hibernate 3.2 core and annotations
create hibernate.cfg.xml
 <?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">org.apache.derby.jdbc.EmbeddedDriver</property>
<property name="hibernate.connection.url">jdbc:derby:/test;create=true</property>
<property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="connection.pool_size">1</property>
<mapping class="test.Employee"/>
</session-factory>
</hibernate-configuration>
===========================================================
create Employee.java - this is your entity
 package test;  
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class Employee implements Serializable {
Long id;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String title;
public Date date;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
===========================================================
create the add/list employee's program - EventManager.java
 package test;  
import org.hibernate.Session;
import java.util.Date;
import java.util.List;
import util.HibernateUtil;
public class EventManager {
public static void main(String[] args) {
EventManager mgr = new EventManager();
// mgr.createAndStoreEvent("My Event", new Date());
List events = mgr.listEvents();
for (int i = 0; i < events.size(); i++) {
Employee theEvent = (Employee) events.get(i);
System.out.println("Event: " + theEvent.getTitle() + " Time: "
+ theEvent.getDate());
}
HibernateUtil.getSessionFactory().close();
}
private List listEvents() {
Session session = HibernateUtil.getSession();
session.beginTransaction();
List result = session.createQuery("from Employee").list();
session.getTransaction().commit();
return result;
}
private void createAndStoreEvent(String title, Date theDate) {
Session session = HibernateUtil.getSession();
session.beginTransaction();
Employee theEvent = new Employee();
theEvent.setTitle(title);
theEvent.setDate(theDate);
session.save(theEvent);
session.getTransaction().commit();
}
}
===========================================================
use different configuration manager - modify HibernateUtil.java
 package util;  
import org.hibernate.*;
import org.hibernate.cfg.*;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// Create the SessionFactory from hibernate.cfg.xml
sessionFactory = new AnnotationConfiguration().configure()
.buildSessionFactory();
} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static Session getSession() throws HibernateException {
return sessionFactory.openSession();
}
}
===========================================================
import the necessary jar files
antlr-2.7.6.jar
asm-attrs.jar
asm.jar
cglib-2.1.3.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
derby.jar
derbyclient.jar
derbynet.jar
derbyrun.jar
derbytools.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate3.jar
jta.jar
log4j-1.2.11.jar

Comments