关于hibernate的子查询

wangearn 2010-07-05 10:55:40
我现在用的hibernate 3.2,参考手册中明确指出,子查询不能用在FROM中

假设我现在的SQL是

select * from (
(select * from a) a left join
(select * from b) on a.x=b.x
)

改成HQL是怎样的
...全文
506 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
a110110108 2011-11-14
  • 打赏
  • 举报
回复
Hibernate子查询必须出现在where子句中
storm_1984 2010-07-07
  • 打赏
  • 举报
回复
http://fableking.javaeye.com/blog/360868
参考一下这个
wangearn 2010-07-07
  • 打赏
  • 举报
回复
我并没说hibernate不能用子查询,而是说 【子查询不能用在FROM中】,这是参考手册上说的
emon123 2010-07-05
  • 打赏
  • 举报
回复
是不支持left join 查询吧。子查询应该还是可行的!~
蛋黄车 2010-07-05
  • 打赏
  • 举报
回复
上面说的可能有点误差,是不支持jion连接查询。以前好像碰到过这样的问题
蛋黄车 2010-07-05
  • 打赏
  • 举报
回复
hql语句不支持子查询,可在hibernate中使用原生sql查询

createSQLQuery(SQL)
a476249912 2010-07-05
  • 打赏
  • 举报
回复
SQL拼接可以吗? 但是好像试过了,也是同样的问题,说不能转换为内部命令
水中影子 2010-07-05
  • 打赏
  • 举报
回复
直接使用createSQLQuery(SQL)
a476249912 2010-07-05
  • 打赏
  • 举报
回复
不要用子查询也可以啊,将对象的关系配置好了,自动就级联了,这是我的想法。
随便占贴求教个问题:
我今天用SQLQuery查询,写个sql
select * from person where pid = 'dfd' and rootId='001'
报错了,就是pid不能为字母或者中文之类的,如果pid='001001002'
这样就没问题
jiangzhengyou 2010-07-05
  • 打赏
  • 举报
回复
hibernate里面是支持子查询的,楼主是不是搞错了啊。。。
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. 映射Person类 1.3.2. 单向Set-based的关联 1.3.3. 使关联工作 1.3.4. 值类型的集合 1.3.5. 双向关联 1.3.6. 使双向连起来 1.4. 第三部分 - EventManager web应用程序 1.4.1. 编写基本的servlet 1.4.2. 处理与渲染 1.4.3. 部署与测试 1.5. 总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得SessionFactory 3.3. JDBC连接 3.4. 可选的配置属性 3.4.1. SQL方言 3.4.2. 外连接抓取(Outer Join Fetching) 3.4.3. 二进制流 (Binary Streams) 3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)机制 3.5. 日志 3.6. 实现NamingStrategy 3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 3.8.2. JNDI绑定的SessionFactory 3.8.3. 在JTA环境下使用Current Session context (当前session上下文)管理 3.8.4. JMX部署 4. 持久化类(Persistent Classes) 4.1. 一个简单的POJO例子 4.1.1. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.2. 提供一个标识属性(identifier property)(可选) 4.1.3. 使用非final的类 (可选) 4.1.4. 为持久化字段声明访问器(accessors)和是否可变的标志(mutators)(可选) 4.2. 实现继承(Inheritance) 4.3. 实现equals()和hashCode() 4.4. 动态模型(Dynamic models) 4.5. 元组片断映射(Tuplizers) 5. 对象/关系数据库映射基础(Basic O/R Mapping) 5.1. 映射定义(Mapping declaration) 5.1.1. Doctype 5.1.2. hibernate-mapping 5.1.3. class 5.1.4. id 5.1.5. composite-id 5.1.6. 鉴别器(discriminator) 5.1.7. 版本(version)(可选) 5.1.8. timestamp (可选) 5.1.9. property 5.1.10. 多对一(many-to-one) 5.1.11. 一对一 5.1.12. 自然ID(natural-id) 5.1.13. 组件(component), 动态组件(dynamic-component) 5.1.14. properties 5.1.15. 子类(subclass) 5.1.16. 连接的子类(joined-subclass) 5.1.17. 联合子类(union-subclass) 5.1.18. 连接(join) 5.1.19. 键(key) 5.1.20. 字段和规则元素(column and formula elements) 5.1.21. 引用(import) 5.1.22. any 5.2. Hibernate 的类型 5.2.1. 实体(Entities)和值(values) 5.2.2. 基本值类型 5.2.3. 自定义值类型 5

67,516

社区成员

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

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