添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

@GeneratedValue with strategy=GenerationType.IDENTITY in Hibernate

By Arvind Rai, May 16, 2013
Hibernate @GeneratedValue generates the value for the column of database table. In case of GenerationType. IDENTITY , value is set by table itself that should be unique. It is used as @GeneratedValue(strategy=GenerationType.IDENTITY) Find the example below.

EduCourse.java package com.concretepage.persistence; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "edu_course") public class EduCourse { @GeneratedValue(strategy=GenerationType.IDENTITY) private int id; @Column(name = "course_name") private String courseName; @Column(name = "duration") private int duration; public int getId() { return id; public void setId(int id) { this.id = id; public String getCourseName() { return courseName; public void setCourseName(String courseName) { this.courseName = courseName; public int getDuration() { return duration; public void setDuration(int duration) { this.duration = duration;


HibernateUtil.java package com.concretepage.util; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration; import com.concretepage.persistence.EduCourse; public class HibernateUtil { private static final SessionFactory concreteSessionFactory; static { try { concreteSessionFactory = new AnnotationConfiguration().configure() .buildSessionFactory(); } catch (Throwable ex) { throw new ExceptionInInitializerError(ex); public static Session getSession() throws HibernateException { return concreteSessionFactory.openSession(); public static void main(String... args) { Session session = getSession(); session.beginTransaction(); EduCourse course = new EduCourse(); course.setCourseName("B.Sc"); course.setDuration(3); session.save(course); session.getTransaction().commit(); session.close();


hibernate.cfg.xml &lt!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"&gt &lthibernate-configuration&gt &ltsession-factory&gt &ltproperty name="hibernate.connection.url"&gt jdbc:mysql://localhost:3306/hibernate&lt/property&gt &ltproperty name="hibernate.connection.username"&gtroot&lt/property&gt &ltproperty name="hibernate.connection.password"&gt&lt/property&gt &ltproperty name="hibernate.connection.pool_size"&gt10&lt/property&gt &ltproperty name="show_sql"&gttrue&lt/property&gt &ltproperty name="dialect"&gtorg.hibernate.dialect.MySQLDialect&lt/property&gt &ltproperty name="hibernate.hbm2ddl.auto"&gtupdate&lt/property&gt &ltmapping class="com.concretepage.persistence.EduCourse"/&gt &lt/session-factory&gt &lt/hibernate-configuration&gt

edu_course Table CREATE TABLE `edu_course` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `course_name` VARCHAR(255) NULL DEFAULT NULL, `duration` INT(11) NULL DEFAULT NULL, PRIMARY KEY (`id`) COLLATE='latin1_swedish_ci' ENGINE=InnoDB;
About Us
We are a group of software developers.
We enjoy learning and sharing technologies.
To improve the site's content,
your valuable suggestions
are most welcome. Thanks
Email : [email protected]