???????????hibernate.cfg.xml
<?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>
<!--????????????? -->
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/mytest
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- ???? -->
<property name="dialect">
org.hibernate.dialect.MySQL5Dialect
</property>
<!-- ????????SQL -->
<property name="show_sql">true</property>
<!-- ??????±?? -->
<property name="hbm2ddl.auto">update</property>
<mapping resource="com/oumyye/model/Class.hbm.xml" />
<mapping resource="com/oumyye/model/Student.hbm.xml" />
</session-factory>
</hibernate-configuration>
??????????
package com.oumyye.service;
import java.util.Iterator;
import java.util.Set;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.oumyye.model.Class;
import com.oumyye.model.Student;
import com.oumyye.util.HibernateSessionFactory;
public class StudentTest {
private SessionFactory sessionFactory=HibernateSessionFactory.getSessionFactory();
private Session session;
@Before
public void setUp() throws Exception {
session=sessionFactory.openSession(); // ???????session
session.beginTransaction(); // ????????
}
@After
public void tearDown() throws Exception {
session.getTransaction().commit(); // ??????
session.close(); // ???session
}
@Test
public void testSaveClassAndStudent() {
Class c=new Class();
c.setName("08???");
Student s1=new Student();
s1.setName("????");
s1.setC(c);
Student s2=new Student();
s2.setName("????");
s2.setC(c);
session.save(s1);
session.save(s2);
}
@Test
public void testLoadClass(){
// Class c=(Class)session.load(Class.class?? Long.valueOf(2));
Class c=(Class)session.load(Class.class?? Long.valueOf(1));
System.out.println(c.getStudents());
}
@Test
public void testGetClass(){
// Class c=(Class)session.get(Class.class?? Long.valueOf(2));
Class c=(Class)session.get(Class.class?? Long.valueOf(1));
System.out.println(c.getStudents());
}
@Test
public void testUpdateClass(){
Session session1=sessionFactory.openSession();
session1.beginTransaction();
Class c=(Class)session1.get(Class.class?? Long.valueOf(1));
session1.getTransaction().commit(); // ??????
session1.close();
Session session2=sessionFactory.openSession();
session2.beginTransaction();
c.setName("08?????????2");
session2.update(c);
session2.getTransaction().commit(); // ??????
session2.close();
}
<!--????-->
@Test
public void testSaveOrUpdateClass(){
Session session1=sessionFactory.openSession();
session1.beginTransaction();
Class c=(Class)session1.get(Class.class?? Long.valueOf(1));
session1.getTransaction().commit(); // ??????
session1.close();
Session session2=sessionFactory.openSession();
session2.beginTransaction();
c.setName("08?????????3");
Class c2=new Class();
c2.setName("09?????????3");
session2.saveOrUpdate(c);
session2.saveOrUpdate(c2);
session2.getTransaction().commit(); // ??????
session2.close();
}
@Test
public void testMergeClass(){
Session session1=sessionFactory.openSession();
session1.beginTransaction();
Class c=(Class)session1.get(Class.class?? Long.valueOf(1));
session1.getTransaction().commit(); // ??????
session1.close();
Session session2=sessionFactory.openSession();
session2.beginTransaction();
Class c2=(Class)session2.get(Class.class?? Long.valueOf(1));
c.setName("08?????????4");
session2.merge(c);
session2.getTransaction().commit(); // ??????
session2.close();
}
<!--???-->
@Test
public void testDeleteStudent(){
Student student=(Student)session.load(Student.class?? Long.valueOf(1));
session.delete(student);
}
}
Session????????÷???
Query query = session.createQuery(hql)??????hql??????????
Criteria critera = session.createCriteria(Class clazz);
(3)Transaction tx = session.beginTransaction();     //???????tx.commit()??????
session.close();//???Session?????session?????????????????????
session.save(Object obj);    //???
session.update(Object obj);     //????
session.delete(Object obj);    //???
Object obj = session.get(Class clazz??Serialiazble id);    //?????????????????????
Object obj = session.load(Class clazz??Serializable id);    //??get????Ч???????????????????????????????????????????