Hibernate QBC与QBE
创建类
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相关推荐
- hibernate QBC和QBE精讲与案列分析(上)
转载:http://blog.sina.com.cn/s/blog_7fff746d0101ese2.html 本章的主要内容包括: ● QBC数据检索 ● 连接查询 ● Hibernate的数据检索 ...
- hibernate QBC和QBE精讲与案列分析(中)
16.Not equal ne(String?propertyName, Object?value) neProperty(String?propertyName, String?otherPrope ...
- hibernate QBC和QBE精讲与案列分析(下)
1.使用HQL进行连接查询 HQL中支持连接查询分别使用inner join,left outer join,right outer join,其中,左外连接和右外连接可以简写为left join和r ...
- Hibernate的HQL、QBC、QBE查询总结
一.HQL查询 HQL的应用最为广泛,是最为常用的,跟SQL语句差不多,区别是: SQL基于表和字段查询,HQL基于类对象和属性查询 HQL的功能大概有: 属性查询.分组查询.动态实例查询(比较具备特 ...
- QBC和QBE查询方法
http://student.csdn.net/space.php?uid=117956&do=blog&id=25789 1: QBE (Query By Example) C ...
- hibernate QBC检索方式查询
Hibernate提供了一套符合Java编程习惯的API,即QBC(Query By Creteria)检索方式, 主要邮Criteria接口,Criterion接口和Expression类组成.优点 ...
- (17)QBC、QBE
QBC: @Testpublic void HQ_1() {Session session=sf.getCurrentSession();session.beginTransaction();//Cr ...
- Hibernate QBC查询
Hibernate day_02 持久化类以及编写规则. 持久化类就是我们说的实体类(符合 JavaBean 的规则). 以后分包:entity(实体),pojo(简单的 Java 对象),domia ...
- Hibernate QBC 分页
利用Hibernate 使用QUC分页 其简单得功能为: 1.通过输入第一条数据的位置和每页现实的数据来确定数据 2.并可以通过输入页数来显示各个页数的数据 程序主要代码: public void t ...
最新文章
- javascript跳跃式前进(3) - 跳入JSON
- 由自动装箱和拆箱引发我看Integer源码
- 弃繁就简!一行代码搞定 Python 日志!
- Redis集群CentOS系统配置企业级数据备份方案以及数据恢复的操作(在开启AOF功能下恢复冷备RDB文件数据,保持AOF和RDB双开情况下恢复数据及错误的数据恢复步骤详解)
- CentOS7下Hadoop集群搭建
- Java文件路径及文件名乱码_javaweb文件下载及文件名中文乱码处理
- vue2.0 路由不显示router-view
- bp神经网络预测模型_【2020顶会KDD】AutoST:面向时空预测的高效神经网络学习模型...
- 目前最流行的前端开发框架
- Apache HttpServer与Tomcat7集群Linux版
- 如何删除U盘中的System Volume Information文件夹?
- oracle报03113,【案例】Oracle报错ORA-03113 ORA-15064产生原因和解决办法
- 操作系统-io设备基本概念和分类
- c++直方图匹配终极版,支持任意通道数(opencv版本)
- [ur_driver-2] process has died
- 数据防泄密产品实测对比
- python怎么选取不连续的列_用pandas中的DataFrame时选取行或列的方法
- Redis总结:缓存雪崩、缓存击穿、缓存穿透与缓存预热、缓存降级
- 选定目标和非功利性学习
- Hadoop 大数据概念那些事儿