有个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>
在查询的时候使用下列语句
执行代码时出现如下问题:
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";
即可顺利得到查询结果,这也是更符合面向对象的思想。
分享到:
相关推荐
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 - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
17.3.3 给上下文变量起别名 17.3.4 完成登录/注销特性 17.4 验证用户输入 17.4.1 Hibernate Validator简介 17.4.2 创建注册页面 17.4.3 用Seam实现国际化 17.5 利用Seam简化持久化 ...
别名和属性引用 13.3. 为SQL查询命名 14. 性能提升(Improving performance) 14.1. 理解集合的性能 14.1.1. 分类 14.1.2. Lists, maps 和sets用于更新效率最高 14.1.3. Bag和list是反向集合类中...
17.1.5 使用别名 17.1.6 多态查询 17.1.7 对查询结果排序 17.1.8 分页查询 17.1.9 检索单个对象(uniqueResult()方法) 17.1.10 按主键逐个处理查询结果(iterate()方法) 17.1.11 可滚动的结果集 ...
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. 第...
16.2.1. 使用return-property来明确地指定字段/别名 16.2.2. 使用存储过程来查询 16.3. 定制SQL用来create,update和delete 16.4. 定制装载SQL 17. 过滤数据 17.1. Hibernate 过滤器(filters) 18. XML映射 ...
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 - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
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参考文档 目录 前言 1. 翻译说明 2. 版权声明 1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第...
###通过hql以对象的boolean类型字段作为条件进行查询遇到的问题: 这是在做项目时遇到的一个问题,当时琢磨了蛮久的,觉得有点神奇吧,特地做了一个小demo作记录 po: 成员变量为private boolean isStudent; 数据库:手动...
NULL 博文链接:https://364232252.iteye.com/blog/2368583
别名和属性引用 13.3. 为SQL查询命名 14. 性能提升(Improving performance) 14.1. 理解集合的性能 14.1.1. 分类 14.1.2. Lists, maps 和sets用于更新效率最高 14.1.3. Bag和list是反向集合类中...
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
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...