Hql即Hibernate Query Language,是一个面向对象的查询语言,是基于对象进行查询的,不是基于数据库中表,字段的。
1、准备
首先有两个类TBook类和Category类,两者之间是多对一的关系。
两个类对应两张表,我们先保存一些数据。
@Test
public void save() {
Session session = null;
Transaction tran = null;
try {
session = SessionUtil.getSession();
tran = session.beginTransaction();
Category c1 = new Category();
c1.setCategory("文学");
Category c2 = new Category();
c2.setCategory("历史");
Category c3 = new Category();
c3.setCategory("武侠");
Category c4 = new Category();
c4.setCategory("科幻");
Category c5 = new Category();
c5.setCategory("言情");
TBook book1 = new TBook();
book1.setBName("红楼梦");
book1.setAuthor("曹雪芹");
book1.setBPrice(60);
book1.setPubDate(new Date());
book1.setCategory(c1);
TBook book2 = new TBook();
book2.setBName("资治通鉴");
book2.setAuthor("司马光");
book2.setBPrice(63);
book2.setPubDate(new Date());
book2.setCategory(c2);
TBook book3 = new TBook();
book3.setBName("射雕英雄传");
book3.setAuthor("金庸");
book3.setBPrice(73);
book3.setPubDate(new Date());
book3.setCategory(c3);
TBook book4 = new TBook();
book4.setBName("百年孤独");
book4.setAuthor("马尔克斯");
book4.setBPrice(56);
book4.setPubDate(new Date());
book4.setCategory(c4);
TBook book5 = new TBook();
book5.setBName("傲慢与偏见");
book5.set