首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Hibernate findByExample 步骤

2012-08-25 
Hibernate findByExample 方法用了这么长时间的hibernate/spring,如果不是今天用的findByExample方法到现

Hibernate findByExample 方法
用了这么长时间的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代码Cat cat = new Cat();   cat.setSex('F');   cat.setColor(Color.BLACK);   List results = session.createCriteria(Cat.class)     .add( Example.create(cat))     .list();  Example.create(cat) 表示根据cat这个对象来构造一个查询条件。上面这条语句将查询sex 为 F 而且Color为BLACK的所有Cat记录。版本属性、标识符和关联被忽略。默认情况下值为null的属性将被排除。 可以自行调整Example使之更实用。Java代码Example example = Example.create(cat)     .excludeZeroes()       //排除值为0的属性     .excludeProperty("color") //排除 color属性     .ignoreCase()         //忽略大小写     .enableLike();         //启用模糊查询   List results = session.createCriteria(Cat.class)     .add(example)     .list();  甚至可以使用examples在关联对象上放置条件。Java代码List results = session.createCriteria(Cat.class)     .add( Example.create(cat) )     .createCriteria("mate")       .add( Example.create( cat.getMate() ) )     .list();  

转自:http://helloandroid.iteye.com/admin/blogs/1164600

热点排行