浏览 2223 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-30
Criteria criteria = session.createCriteria(TUser.class); criteria.add(Expression.eq("name","Erica")); criteria.add(Expression.eq("sex",new Integer(1))); Expression.eq(String arg1, Object arg2) 就等价于 SQL中的“field = value”。 note: 但是实际上arg1代表的是class TUser 中的property - name 而不是数据库表T_User中的 filed - name 由于在用简单属性查询时,有时候根本意识不到自己现在操作对象的是属性还是DB中的域, 下面用一个更明显例子: User.java class User { private String name; private String id; private Integer age; /*一下略去 getter setter*/ } Computer.java class Computer{ String id; String name; User owner; /*getter setter 略去*/ } 一个User 对象可以拥有 多台 Computer,这样就形成了 many-to-one 结构。 在T_COMPUTER中用一个域 OWNER_ID记住 机主的ID。 如果要查询一个User对象用有的所有电脑时, 使用表达式 Expression.eq("owner" owner) 而不是 Expression.eq("OWNER_ID", owner.getId()); 这就印证了上面的说法 Restrictions应该也是类似的。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |