1、@Entity
当你需要映射一个类到数据库中的时候,你就需要在这个类上增加 @Entity 这个注解。
主要属性:
name:你可以为这个类指定一个名称,在 HQL(HQL 会在以后介绍) 的时候可以使用。
2、@Table
这个注解是可选的。主要是将类映射到数据库中的表时,对表的基础信息进行设置。
主要属性:
name:表名。类映射到数据库表的表名称。
schema:数据库名。这个属性是可选的。类映射的数据库表所在的数据库名称。
3、@Id
这个注解是标识类的属性是表的主键。@Id 这个属性下一章将详细讲解。
class Student
package demo.model; import javax.persistence.*; import java.util.Date; @Entity @Table(name = "studentinfo", schema = "hibernatedemo") public class Student { private Integer id; private String name; private Integer sex; private String studentno; private Date brithday; @Id @GeneratedValue(strategy = GenerationType.AUTO) public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Column(length = 30, nullable = false) public String getName() { return name; } public void setName(String name) { this.name = name; } @Column(length = 10, unique = true, nullable = false) public String getStudentno() { return studentno; } public void setStudentno(String studentno) { this.studentno = studentno; } public Integer getSex() { return sex; } public void setSex(Integer sex) { this.sex = sex; } @Temporal(TemporalType.DATE) public Date getBrithday() { return brithday; } public void setBrithday(Date brithday) { this.brithday = brithday; } }
class StudentTest
package demo.test; import demo.model.Student; import demo.util.HibernateUtil; import org.hibernate.Session; import org.junit.Test; import java.util.Date; public class StudentTest { @Test public void testSave() { Student student = new Student(); student.setName("张三"); student.setSex(1); student.setStudentno("0001"); student.setBrithday(new Date()); Session session = HibernateUtil.createSessionFactory().openSession(); session.beginTransaction(); try { session.save(student); session.getTransaction().commit(); } catch (Exception e) { session.getTransaction().rollback(); System.out.print(e); } finally { if(session!=null) { session.close(); } } } }
class HibernateUtil
package demo.util; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateUtil { private static SessionFactory sessionFactory = null; private HibernateUtil() {} public static SessionFactory createSessionFactory() { if(sessionFactory==null) { sessionFactory = new Configuration().configure().buildSessionFactory(); } return sessionFactory; } }
最后需要在 Hibernate.cfg.xml 中,增加此类:
<mapping class="demo.model.Student" />