This article describes the Annotation version of Hello world implementation method of Hibernate. Share it for your reference, as follows:
Packages that need to be introduced: hibernate-commons-annotations-4.0.4.Final.jar
Since I am using: hibernate-release-4.3.5.Final, it is already available in the required directory.
bean:
import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name="teacher")public class Teacher { private int id; private String name; private String title; @Id public int getId() { return id; } public void setId(int id) { this.id = id; } @Column(name="name") public String getName() { return name; } public void setName(String name) { this.name = name; } @Column(name="title") public String getTitle() { return title; } public void setTitle(String title) { this.title = title; }}Corresponding hibernate.cfg.xml file:
<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost/hibernate</property> <property name="connection.username"></property> <property name="connection.password"></property> <!-- JDBC connection pool (use the built-in) --> <!-- <property name="connection.pool_size">1</property> --> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- Enable Hibernate's automatic session context management --> <property name="current_session_context_class">thread</property> <!-- Disable the second-level cache --> <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <!-- <property name="hbm2ddl.auto">update</property> --> <mapping resource="com/hibernate/model/Student.hbm.xml"/> <mapping/> </session-factory></hibernate-configuration>
Test class:
import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.AnnotationConfiguration;import org.hibernate.cfg.Configuration;import com.huxing.hibernate.model.Student;import com.huxing.hibernate.model.Teacher;public class StudentTest { public static void main(String[] args) { Student a = new Student(); a.setId(123); a.setAge(32); a.setName("hello hibernate!"); Teacher tea = new Teacher(); tea.setId(4); tea.setName("mysql"); tea.setTitle("high"); Configuration cfg = new AnnotationConfiguration(); SessionFactory cf = cfg.configure().buildSessionFactory(); Session session = cf.openSession(); session.beginTransaction(); session.save(tea); session.getTransaction().commit(); session.close(); cf.close(); }}Note: The code omits the package path.
Other aspects:
1. Annotations can be added to attributes or to get methods.
2. The difference between the mapping and the xml configuration of the annotated xml! One is resource and the other is class.
I hope this article will be helpful to everyone's Hibernate framework programming.