`
青蜂侠
  • 浏览: 50869 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Hibernate别名问题

    博客分类:
  • Java
阅读更多

有个BookComment类的映射文件如下

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="org.brucefeng.sinter.domain">
  <class name="BookComment" table="comment">
  	<id name="bookCommentPK" column="commentpk" unsaved-value="null">
  		<generator class="uuid.hex"></generator>
  	</id>
  	<property name="title" type="string" column="title"></property>
  	<property name="content" type="text" column="content"></property>
  	<many-to-one name="author" column="userpk" 
  	class="org.brucefeng.sinter.domain.User" 
  	cascade="save-update" fetch="join" lazy="false"></many-to-one>
  </class>
</hibernate-mapping>
 

 在查询的时候使用下列语句

Sql代码
 String hql = "from BookComment as bc where bc.userpk=:author order by bc.title asc";  
 

 

 执行代码时出现如下问题:

org.hibernate.QueryException: could not resolve property: userpk of: org.brucefeng.sinter.domain.BookComment [from org.brucefeng.sinter.domain.BookComment as bc where bc.userpk=:author order by bc.title asc]

 

当将hql语句修改为

String hql = "from BookComment where userpk=:author order by title asc  
 

后可以顺利查询出结果

 

其实分析hql代码可以发现查询条件中的userpk是数据库中的列名,而Hibernate是ORM框架,其重要作用就是以对象的方式操作数据库。这样修改hql代码如下:

String hql = "from BookComment as bc where bc.author=:author order by bc.title asc";  

 即可顺利得到查询结果,这也是更符合面向对象的思想。

分享到:
评论

相关推荐

    Hibernate+中文文档

    3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA TransactionManagers 9.1. 继承映射特性(Features of inheritance mappings) 16.1. 别名注射(alias injection names) 19.1. ...

    Hibernate_3.2属性文档介绍_中文

    Hibernate_3.2属性文档介绍_中文

    hibernate3.2中文文档(chm格式)

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    HibernateAPI中文版.chm

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    Hibernate实战(第2版 中文高清版)

     17.3.3 给上下文变量起别名   17.3.4 完成登录/注销特性   17.4 验证用户输入   17.4.1 Hibernate Validator简介   17.4.2 创建注册页面   17.4.3 用Seam实现国际化   17.5 利用Seam简化持久化   ...

    hibernate 教程

    别名和属性引用 13.3. 为SQL查询命名 14. 性能提升(Improving performance) 14.1. 理解集合的性能 14.1.1. 分类 14.1.2. Lists, maps 和sets用于更新效率最高 14.1.3. Bag和list是反向集合类中...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     17.1.5 使用别名  17.1.6 多态查询  17.1.7 对查询结果排序  17.1.8 分页查询  17.1.9 检索单个对象(uniqueResult()方法)  17.1.10 按主键逐个处理查询结果(iterate()方法)  17.1.11 可滚动的结果集  ...

    Hibernate 中文 html 帮助文档

    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. 第...

    Hibernate中文详细学习文档

    16.2.1. 使用return-property来明确地指定字段/别名 16.2.2. 使用存储过程来查询 16.3. 定制SQL用来create,update和delete 16.4. 定制装载SQL 17. 过滤数据 17.1. Hibernate 过滤器(filters) 18. XML映射 ...

    最全Hibernate 参考文档

    1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. 架构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 3. 配置 3.1. 可编程的配置方式 ...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    hibernate 体系结构与配置 参考文档(html)

    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. 第...

    Hibernate教程

    Hibernate参考文档 目录 前言 1. 翻译说明 2. 版权声明 1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第...

    hibernate-detail:在使用hql时遇到的一个问题

    ###通过hql以对象的boolean类型字段作为条件进行查询遇到的问题: 这是在做项目时遇到的一个问题,当时琢磨了蛮久的,觉得有点神奇吧,特地做了一个小demo作记录 po: 成员变量为private boolean isStudent; 数据库:手动...

    day36-hibernate检索和优化 02-Hibernate检索方式:简单查询及别名查询

    NULL 博文链接:https://364232252.iteye.com/blog/2368583

    hibernate

    别名和属性引用 13.3. 为SQL查询命名 14. 性能提升(Improving performance) 14.1. 理解集合的性能 14.1.1. 分类 14.1.2. Lists, maps 和sets用于更新效率最高 14.1.3. Bag和list是反向集合类中...

    hibernate-entitymanager-5.3.17.Final.jar

    Hibernate ORM 6.0.0.Alpha7版本。 参见http://hibernate.org/orm/releases/6.0 org.hibernate/hibernate-entitymanager/5.3.17.Final/hibernate-entitymanager-5.3.17.Final.jar

    hibernate3.04中文文档.chm

    1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第一部分 - 第一个Hibernate程序 2.2.1. 第一个class 2.2.2. 映射文件 2.2.3...

Global site tag (gtag.js) - Google Analytics