不使用HQL语句实现联合查询 这是最终的SQL语句:select * from user_person up,security_user su where up.user_id = su.username and su.mobile='13439019232'如题,不采用HQL语句的话,程序该怎么写呢,用DetachedCriteria或criteria写怎么做呢。在线等..... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你应该到JAVA版去问:下面是帮你找来的,看看16.4. 关联你可以使用createCriteria()非常容易的在互相关联的实体间建立 约束。 List cats = sess.createCriteria(Cat.class) .add( Restrictions.like("name", "F%") .createCriteria("kittens") .add( Restrictions.like("name", "F%") .list();注意第二个 createCriteria()返回一个新的 Criteria实例,该实例引用kittens 集合中的元素。 接下来,替换形态在某些情况下也是很有用的。 List cats = sess.createCriteria(Cat.class) .createAlias("kittens", "kt") .createAlias("mate", "mt") .add( Restrictions.eqProperty("kt.name", "mt.name") ) .list();(createAlias()并不创建一个新的 Criteria实例。) Cat实例所保存的之前两次查询所返回的kittens集合是 没有被条件预过滤的。如果你希望只获得符合条件的kittens, 你必须使用returnMaps()。 List cats = sess.createCriteria(Cat.class) .createCriteria("kittens", "kt") .add( Restrictions.eq("name", "F%") ) .returnMaps() .list();Iterator iter = cats.iterator();while ( iter.hasNext() ) { Map map = (Map) iter.next(); Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS); Cat kitten = (Cat) map.get("kt");} ORA-01036: 非法的变量名/编号 <--------请教一个很简单的查询----------> 一个令人困惑的问题(关于连接池) 关于使用WRAP加密的问题 急求一个查询语句 连接数据库问题,急,在线等! ORACLE新手提问 Oracle程序员和管理员的待遇如何 向懂ORACLE的求助!! 项目需求:模拟高IO用于测试数据库sql性能 急~~~~~~~~~~~~~~~~~~~~~~~~~~关于oracle的jobs 时间间隔设置 sqlldr 导入数据的问题。
下面是帮你找来的,看看16.4. 关联
你可以使用createCriteria()非常容易的在互相关联的实体间建立 约束。 List cats = sess.createCriteria(Cat.class)
.add( Restrictions.like("name", "F%")
.createCriteria("kittens")
.add( Restrictions.like("name", "F%")
.list();
注意第二个 createCriteria()返回一个新的 Criteria实例,该实例引用kittens 集合中的元素。 接下来,替换形态在某些情况下也是很有用的。 List cats = sess.createCriteria(Cat.class)
.createAlias("kittens", "kt")
.createAlias("mate", "mt")
.add( Restrictions.eqProperty("kt.name", "mt.name") )
.list();
(createAlias()并不创建一个新的 Criteria实例。) Cat实例所保存的之前两次查询所返回的kittens集合是 没有被条件预过滤的。如果你希望只获得符合条件的kittens, 你必须使用returnMaps()。 List cats = sess.createCriteria(Cat.class)
.createCriteria("kittens", "kt")
.add( Restrictions.eq("name", "F%") )
.returnMaps()
.list();
Iterator iter = cats.iterator();
while ( iter.hasNext() ) {
Map map = (Map) iter.next();
Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);
Cat kitten = (Cat) map.get("kt");
}