標籤:conf actor cti 方式 session 產生 uid dtd rac
主鍵產生採用uuid的方式產生,在實體類中該主鍵的類型必須為String類型。
hibernate xml設定檔的方式
實體類:Student.java:
package com.bxw.entity;public class Student { private String id; private String name; private String sex; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
設定檔Student.hbm.xml預設路徑和Student類在同一個包。
<?xml version="1.0" encoding=‘UTF-8‘?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.bxw.entity"> <class name="Student"> <id name="id"> <generator class="uuid"></generator> </id> <property name="name"></property> <property name="sex"></property> </class></hibernate-mapping>
測試
package com.bxw.test;import org.hibernate.Session;import org.hibernate.cfg.Configuration;import org.junit.AfterClass;import org.junit.BeforeClass;import org.junit.Test;import com.bxw.entity.Student;public class StudentTest{ private static Session session = null; @BeforeClass public static void getSession(){ try { Configuration conf = new Configuration(); conf.configure(); session = conf.buildSessionFactory().openSession(); } catch (Exception e) { e.printStackTrace(); } } @Test public void hibernateIdTest() { Student ss = new Student(); ss.setName("Han meimei"); ss.setSex("女"); session.beginTransaction(); session.save(ss); session.getTransaction().commit(); } @AfterClass public static void over(){ session.close(); }}
hibernate主鍵建置原則