用了这么长时间的hibernate/spring,如果不是今天用的findByExample方法到现在还不知道findByExample的机制。惭愧
Class User{
String username;
String password = "默认口令";
Company company;
getter()&setter().....
}
Company company = companyDao.getById("id");
User user = new User();
user.setSid("主键");
uer.setUsername("user");
use.setCompany(company);
userDao.findByExample(user);
这个时候的SQL条件为:
select * from user
where username = ?
and password = ?
findByExample()使用时得出结论:
1.不支持主键
2.不支持关联
3.不支持NULL
查询示例
org.hibernate.criterion.Example
类允许你通过一个给定实例构建一个条件查询。
此实例的属性值将做成查询条件。
Java代码
-
Catcat=newCat();
-
cat.setSex('F');
-
cat.setColor(Color.BLACK);
-
Listresults=session.createCriteria(Cat.class)
-
.add(Example.create(cat))
-
.list();
Example.create(cat) 表示根据cat这个对象来构造一个查询条件。
上面这条语句将查询sex 为 F 而且Color为BLACK的所有Cat记录。
版本属性、标识符和关联被忽略。默认情况下值为null的属性将被排除。
可以自行调整Example使之更实用。
Java代码
-
Exampleexample=Example.create(cat)
-
.excludeZeroes()//排除值为0的属性
-
.excludeProperty("color")//排除color属性
-
.ignoreCase()//忽略大小写
-
.enableLike();//启用模糊查询
-
Listresults=session.createCriteria(Cat.class)
-
.add(example)
-
.list();
甚至可以使用examples在关联对象上放置条件。
Java代码
-
Listresults=session.createCriteria(Cat.class)
-
.add(Example.create(cat))
-
.createCriteria("mate")
-
.add(Example.create(cat.getMate()))
-
.list();
相关推荐
Hibernate.jar包,Hibernate可以应用在任何使用JDBC的场合,包含 hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.12.Final.jar hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-...
hibernate 资料hibernate 资料hibernate 资料hibernate 资料
hibernate3hibernate3hibernate3hibernate3hibernate3hibernate3hibernate3hibernate3
/*************************************** * 达梦8 JDBC驱动版本说明 /*************************************** ...8. DmDialect-for-hibernate5.3.jar 对应 Jdk1.7及以上, hibernate5.3 -- 5.4 环境
Hibernate连表查询 Hibernate连表查询
hibernate5 hibernate PDF 讲义 动力 hibernate ssh hibernate5 节点
Hibernate连接SQLite配置步骤: 1、添加SQLite库: 1.1、将两个jar包:com.zy.hibernate.dialect.SQLiteDialect.jar、sqlite-jdbc-3.7.2.jar拷贝到“\WEB-INF\lib”文件夹下; 2、配置hibernate: 2.1、将...
DmDialect-for-hibernate2.0、DmDialect-for-hibernate2.1、DmDialect-for-hibernate3.0、DmDialect-for-hibernate3.1、DmDialect-for-hibernate3.6、DmDialect-for-hibernate4.0、DmDialect-for-hibernate5.0、...
hibernate annotation hibernate3
hibernate 5.2.15 hibernate 5.2.15 hibernate 5.2.15 hibernate 5.2.15 hibernate 5.2.15hibernate 5.2.15
包含hibernate所有所需jar包还有一些其他包日志包、jpa支持包等: 列如:hibernate-core-5.1.0.Final.jar hibernate-ehcache-5.1.0.Final.jar hibernate-entitymanager-5.1.0.Final.jar hibernate-envers-5.1.0....
hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,hibernate,包含4个说明文档,分别详细解说了hibernate...
hibernate教程hibernate教程hibernate教程
Manning出版 Java Persistence With Hibernate 第二版 清晰pdf Hibernate, an open source project that is almost 15 years old. In a recent poll, Hibernate was among the top five tools used by many Java ...
项目原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6 二、 项目目的: 整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + ...
Hibernate面试题专栏 - 最全的Hibernate面试题, Hibernate笔试题, Hibernate问题 Hibernate教程
Hibernate留言板Hibernate留言板Hibernate留言板Hibernate留言板Hibernate留言板Hibernate留言板Hibernate留言板Hibernate留言板Hibernate留言板Hibernate留言板Hibernate留言板Hibernate留言板
hibernate 用的较频繁的jar包,或者文档
Hibernate稳定版(hibernate-release-5.3.23.Final.zip),Hibernate ORM 是一个为应用程序、库和框架提供对象/关系映射 (ORM) 支持的库。它还提供了 JPA 规范的实现,这是 ORM 的标准 Java 规范。
hibernate 实战 hibernate 实战 hibernate 实战 hibernate 实战