给你sql 求ql 语句一条,谢谢

yzy 2008-06-26 04:52:20
sql 语句
select a.field2,b.field1 from table1 a
left join table1 b on a.field1 = b.field2 and a.field2 = '1';

要写成 HQL or JPQL or EJBQL 应该怎么写呢?

谢谢!
...全文
136 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzy 2008-06-30
  • 打赏
  • 举报
回复
jpql好似没有on这个链接条件,而是用entity里面写的链接条件。我觉得这样写不好。
bao0437 2008-06-27
  • 打赏
  • 举报
回复
hibernate 只过改成对象罢了
bao0437 2008-06-27
  • 打赏
  • 举报
回复
hibernate也可创建执行sql语句 ,就这么传也可以
Landor2004 2008-06-27
  • 打赏
  • 举报
回复
HQL和EJBQL 基本差不多
Landor2004 2008-06-27
  • 打赏
  • 举报
回复
返回一个标量的结果集,去掉个分号
List list = sessionFactory.getCurrentSession().createQuery(
"select a.field2,b.field1 from Table1 a left join fetch Table1 b on a.field1 = b.field2 and a.field2 = '1'").list();
Iterator results = list.iterator();
while ( results.hasNext() ) {
Object[] row = (Object[]) results.next();
String field2 = (String) row[0];
String field1 = (String) row[1];
.....
}
Landor2004 2008-06-27
  • 打赏
  • 举报
回复
返回一个标量的结果集
List list = sessionFactory.getCurrentSession().createQuery(
"select a.field2,b.field1 from Table1 a left join fetch Table1 b on a.field1 = b.field2 and a.field2 = '1';").list();
Iterator results = list.iterator();
while ( results.hasNext() ) {
Object[] row = (Object[]) results.next();
String field2 = (String) row[0];
String field1 = (String) row[1];
.....
}
lisl2003 2008-06-26
  • 打赏
  • 举报
回复
不过写sql时表名可以不分大小写,写hql时类名必需区分大小写,必要是时要写包名。
JPQL,EJBQL没用过、
lisl2003 2008-06-26
  • 打赏
  • 举报
回复
假设table a对应类A,table b对应类B。
HQL

select a.field2,b.field1 from A as a
left join B as b on a.field1 = b.field2 and a.field2 = '1';

其实没什么变化

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧