package com.rlovep.extend; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistryBuilder; import org.junit.Test; /** * * @ClassName: App_simple * @Description: 简单继承测试 * @author peace w_peace@163.com * @date 11 Jan 2016 5:00:43 pm * */ public class App_simple { private static SessionFactory sf=null; static{ Configuration config=new Configuration().configure().addClass(Cat.class); //创建serviceRegistry 代替buildSessionFactory()方法 ServiceRegistry serviceRegistry =new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry(); // 创建session的工厂对象 sf = config.buildSessionFactory(serviceRegistry); } @Test public void testSave(){ Session session = sf.openSession(); Transaction tx = session.beginTransaction(); //直接存储 Cat cat=new Cat(); cat.setName("黑猫"); cat.setCatchMouse("抓老鼠"); session.save(cat); tx.commit(); //该方法会调用flush session.close(); } @Test public void testget(){ Session session = sf.openSession(); Transaction tx = session.beginTransaction(); Cat cat=null; //通过id查询 cat = (Cat)session.get(Cat.class, 1); System.out.println(cat.getCatchMouse()); //通过sql查询 Query query = session.createQuery("from Cat"); List<Cat> list = query.list(); System.out.println(list.get(0).getName()); // 获取时候注意:当写hql查询的使用,通过父类查询必须写上类的全名 Query query2 = session.createQuery("from com.rlovep.extend.Animal"); List<Animal> list2=query2.list(); System.out.println(list2.get(1).getName()); tx.commit(); //该方法会调用flush session.close(); } }