hibernate中hql查询,这里是例子程序,比较完整,忘记时可以对比复习(二)

2014-11-24 08:22:30 · 作者: · 浏览: 1
etTopicName(String topicName) {
this.topicName = topicName;
}
public String getCategoryName() {
return categoryName;
}
public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCont() {
return cont;
}
public void setCont(String cont) {
this.cont = cont;
}
}
最终的测试类是个junit他可以对单个方法进行测试
[java]
package com.bjsxt.hibernate;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
public class HibernateQLTest {
private static Configuration configuration=null;
private static SessionFactory sf=null;
private static ServiceRegistry serviceRegistry=null;
@BeforeClass
public static void beforeClass() {
configuration=new Configuration().configure();
serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
sf= configuration.buildSessionFactory(serviceRegistry);
}
@AfterClass
public static void afterClass() {
sf.close();
}
@Test
public void testSchemaExport() {
new SchemaExport(configuration).create(true, true);
}
@Test
public void testSave() {
Session session = sf.openSession();
session.beginTransaction();
for(int i=0; i<10; i++) {
Category c = new Category();
c.setCategory_name("c" + i);
session.save(c);
}
for(int i=0; i<10; i++) {
Category c = new Category();
c.setId(1);
Topic t = new Topic();
t.setCategory(c);
t.setTopic_title("t" + i);
//t.setCreateDate(new Date());
session.save(t);
}
for(int i=0; i<10; i++) {
Topic t = new Topic();
t.setId(1);
Msg m = new Msg();
m.setMsg_cont("m" + i);
m.setTopic(t);
session.save(m);
}
session.getTransaction().commit();
session.close();
}
@Test
public void testHQL_01() {
Session session = sf.openSession();
session.beginTransaction();
// Query q = session.createQuery("from Category");
// List categories = q.list();
List categories=(List)session.createQuery("from Category").list();
for(Category c : categories) {
System.out.println(c.getCategory_name());
}
session.getTransaction().commit();
session.close();
}
@Test
public void testHQL_02