创建类

Categogy类
模块

package com.hibernate.model;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;@Entity
public class Category {private int id;private String name;@Id@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

Topic类
主题

package com.hibernate.model;import java.util.ArrayList;
import java.util.Date;
import java.util.List;import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;@Entity
@NamedQueries({@NamedQuery(name="topic.selectCertainTopic", query="from Topic t where t.id = :id")})public class Topic {private int id;private String title;private Category category;private Date createDate;private List<Msg> msgs = new ArrayList<Msg>();@OneToMany(mappedBy="topic")public List<Msg> getMsgs() {return msgs;}public void setMsgs(List<Msg> msgs) {this.msgs = msgs;}public Date getCreateDate() {return createDate;}public void setCreateDate(Date createDate) {this.createDate = createDate;}@ManyToOne(fetch=FetchType.LAZY)public Category getCategory() {return category;}public void setCategory(Category category) {this.category = category;}@Id@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}}

msg类

package com.hibernate.model;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;@Entity
public class Msg {private int id;private String cont;private Topic topic;@ManyToOnepublic Topic getTopic() {return topic;}public void setTopic(Topic topic) {this.topic = topic;}@Id@GeneratedValuepublic 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;}}

msginfo类

package com.hibernate.model;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;public class MsgInfo { //VO DTO Value Object username p1 p2 UserInfo->User->DBprivate int id;private String cont;private String topicName;private String categoryName;public MsgInfo(int id, String cont, String topicName, String categoryName) {super();this.id = id;this.cont = cont;this.topicName = topicName;this.categoryName = categoryName;}public String getTopicName() {return topicName;}public void setTopicName(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;}}

QBCTESt

public void testQBC() {Session session = sf.openSession();session.beginTransaction();//criterion 标准/准则/约束Criteria c = session.createCriteria(Topic.class) //from Topic.add(Restrictions.gt("id", 2)) //greater than = id > 2.add(Restrictions.lt("id", 8)) //little than = id < 8.add(Restrictions.like("title", "t_")).createCriteria("category").add(Restrictions.between("id", 3, 5)) //category.id >= 3 and category.id <=5;//DetachedCritereafor(Object o : c.list()) {Topic t = (Topic)o;System.out.println(t.getId() + "-" + t.getTitle());}session.getTransaction().commit();session.close();}

QBETest

     public void testQBE() {Session session = sf.openSession();session.beginTransaction();Topic tExample = new Topic();tExample.setTitle("T_");Example e = Example.create(tExample).ignoreCase().enableLike();Criteria c = session.createCriteria(Topic.class).add(Restrictions.gt("id", 2)).add(Restrictions.lt("id", 8)).add(e);for(Object o : c.list()) {Topic t = (Topic)o;System.out.println(t.getId() + "-" + t.getTitle());}session.getTransaction().commit();session.close();}

Hibernate QBC与QBE相关推荐

  1. hibernate QBC和QBE精讲与案列分析(上)

    转载:http://blog.sina.com.cn/s/blog_7fff746d0101ese2.html 本章的主要内容包括: ● QBC数据检索 ● 连接查询 ● Hibernate的数据检索 ...

  2. hibernate QBC和QBE精讲与案列分析(中)

    16.Not equal ne(String?propertyName, Object?value) neProperty(String?propertyName, String?otherPrope ...

  3. hibernate QBC和QBE精讲与案列分析(下)

    1.使用HQL进行连接查询 HQL中支持连接查询分别使用inner join,left outer join,right outer join,其中,左外连接和右外连接可以简写为left join和r ...

  4. Hibernate的HQL、QBC、QBE查询总结

    一.HQL查询 HQL的应用最为广泛,是最为常用的,跟SQL语句差不多,区别是: SQL基于表和字段查询,HQL基于类对象和属性查询 HQL的功能大概有: 属性查询.分组查询.动态实例查询(比较具备特 ...

  5. QBC和QBE查询方法

    http://student.csdn.net/space.php?uid=117956&do=blog&id=25789 1: QBE (Query By Example)    C ...

  6. hibernate QBC检索方式查询

    Hibernate提供了一套符合Java编程习惯的API,即QBC(Query By Creteria)检索方式, 主要邮Criteria接口,Criterion接口和Expression类组成.优点 ...

  7. (17)QBC、QBE

    QBC: @Testpublic void HQ_1() {Session session=sf.getCurrentSession();session.beginTransaction();//Cr ...

  8. Hibernate QBC查询

    Hibernate day_02 持久化类以及编写规则. 持久化类就是我们说的实体类(符合 JavaBean 的规则). 以后分包:entity(实体),pojo(简单的 Java 对象),domia ...

  9. Hibernate QBC 分页

    利用Hibernate 使用QUC分页 其简单得功能为: 1.通过输入第一条数据的位置和每页现实的数据来确定数据 2.并可以通过输入页数来显示各个页数的数据 程序主要代码: public void t ...

最新文章

  1. javascript跳跃式前进(3) - 跳入JSON
  2. 由自动装箱和拆箱引发我看Integer源码
  3. 弃繁就简!一行代码搞定 Python 日志!
  4. Redis集群CentOS系统配置企业级数据备份方案以及数据恢复的操作(在开启AOF功能下恢复冷备RDB文件数据,保持AOF和RDB双开情况下恢复数据及错误的数据恢复步骤详解)
  5. CentOS7下Hadoop集群搭建
  6. Java文件路径及文件名乱码_javaweb文件下载及文件名中文乱码处理
  7. vue2.0 路由不显示router-view
  8. bp神经网络预测模型_【2020顶会KDD】AutoST:面向时空预测的高效神经网络学习模型...
  9. 目前最流行的前端开发框架
  10. Apache HttpServer与Tomcat7集群Linux版
  11. 如何删除U盘中的System Volume Information文件夹?
  12. oracle报03113,【案例】Oracle报错ORA-03113 ORA-15064产生原因和解决办法
  13. 操作系统-io设备基本概念和分类
  14. c++直方图匹配终极版,支持任意通道数(opencv版本)
  15. [ur_driver-2] process has died
  16. 数据防泄密产品实测对比
  17. python怎么选取不连续的列_用pandas中的DataFrame时选取行或列的方法
  18. Redis总结:缓存雪崩、缓存击穿、缓存穿透与缓存预热、缓存降级
  19. 选定目标和非功利性学习
  20. Hadoop 大数据概念那些事儿

热门文章

  1. 网络协议 -- UDP协议(3)广播
  2. 阿里研究院崔瀚文:“单身经济”背后的“新家园”
  3. getDir.sh获取目标文件并将文件放到指定的目录下
  4. Linux——K8s存储(数据持久化)
  5. 家庭财务管理,从记账开始
  6. 店铺每日生意营业流水记账本
  7. 帆软参数为空查询全部
  8. 思考14. 为什么我们要全力以赴
  9. 标品怎样开直通车?标品开直通车的步骤是什么?标品怎样开直通车能获得高转化?
  10. 3d效果图制作傻瓜软件_3D效果图制作哪个软件是最适合的?