- 浏览: 731528 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
z6978445:
查询呢?比如要查出 tblRead200710 表与 tblR ...
使用hibernate SQLQuery实现动态表 -
xtp1211:
乱发,自己都没试过
windows下的apache限制IP连接数 -
guanqing123:
在apache的httpd.conf文件中加入
ProxyRe ...
apache2.2 tomcat6 集群 -
wangxingchun:
Thanks again
Axure RP组件库下载 -
feiyu86:
这才是专家嘛,通俗易懂。
Lucene倒排索引原理
private Integer userId; |
那么相应的 ReadInfo.hbm.xml 的片段是
<class name="ReadInfo" table="tblReadInfo" mutable="false"> |
上面的xml,注意 2 个细节
1. pojo 所映射的 table tblReadInfo 实际上是不存在的。实际的表是 tblRead200710 之类的;
2. mutable 要设置为 false,即是说,关闭 hibernate 对这个 pojo 的任何持久化操作,以避免 hibernate 把数据写到 tblReadInfo 中(这个表是不存在的嘛)。因此,所有的持久化操作,都是需要自己通过 SQLQuery 来处理。
现在可以看一下 ado 中的操作了,先看一个 select 操作
public ReadInfo selectReadInfo(Integer userId, Integer year, |
上面的代码,关键是以下几点:
1. 通过函数参数的 year, month 来确定要操作的表名,我自己写了一个 Misc.formatMoon(year, month) 来生成 "yyyyMM" 格式的字串;
2. 使用了 SQLQuery ,再通过 query.addEntity(ReadInfo.class); 建立与 ReadInfo 的映射关系;
3. query.setXxx() 与 PreparedStatement 的类似,不过索引是从 0 开始;
4. 其它的就跟一般的 Query 操作类似的了。
再看一个 insert 操作
public void insertReadInfo(ReadInfo readInfo) throws HibernateException |
同理,update, delete 等操作也是这样实现的。
hmm.. 这种处理方式的麻烦的地方是需要手工写 sql ,因此要尽量写通用的标准 sql,不然在数据库兼容方面会有问题。当然,有时是会出现无法兼容的情况,那么可以考虑把 sql 写到配置文件中,根据不同的数据库,装载相应的配置文件咯。
评论
邮箱 harryyang1986@sina.com
谢谢了
发表评论
-
Eclipse常用插件列表
2010-03-03 21:21 2312Properties Editor Pro ... -
slf4j简介
2010-02-23 12:00 3055SLF4J不是具体的日志解决方案,它只服务于各种各样的日志系 ... -
SSO单点登录解决方案
2009-10-20 11:18 19831 什么是单点登陆 单点登录(Single Sign ... -
减少全局竞争性同步,提高应用的垂直扩展能力
2009-10-20 10:44 1616减少全局竞争性同步, ... -
插入算法
2009-10-10 11:04 2022插入排序(Insertion Sort)的算法描述是一种简单直 ... -
鸡尾酒排序
2009-10-09 14:49 2125也就是定向冒泡排序, 鸡尾酒搅拌排序, 搅拌排序 (也可以视 ... -
冒泡排序法
2009-10-09 14:46 1610冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两 ... -
org.springframework.util.StringUtils 使用
2009-05-08 09:09 3410我们经常会对字符串进行操作,spring已经实现了常用的处 ... -
JSTL <fmt:formatDate/>
2008-12-29 16:27 11978fmt:formatDate 的输出格式 <fmt:fo ... -
iBatis与Spring集成的批处理
2008-11-28 14:30 2530public String insertBatch(fina ... -
xfire 无法启动
2008-09-24 11:22 1599一般情况下,做ssh组合时,spring是通过web.xml加 ... -
C# 加密 java解密 (DES)
2008-08-13 21:26 5738C#中对数据进行加密,java对加密后的数据解密。 c# ... -
BigDecimal对象的用法(加减乘除)
2008-06-05 15:03 15895java.math.BigDecimal。BigDecimal ... -
利用过滤器对hibernate的session管理,实现session在线程范围内的共享
2008-03-12 18:13 4934hibernate中的Session关系到对数据库的增删查改等 ... -
log4j.properties 使用
2008-03-06 13:12 1570一.参数意义说明输出级别的种类ERROR、WARN、INFO、 ... -
spring2 整合 Dwr(把DWR的配置写到Spring的配置文件)
2008-03-03 16:22 3418Spring 2基于XML Schema的配置,Spring ... -
maven 配置篇之pom.xml
2008-02-29 16:01 1663什么是pom? pom作为项目对象模型。通过xml表示m ... -
maven 配置篇之settings.xml
2008-02-29 15:58 2266maven2 比起maven1 来说,需要配置的文件少多了,主 ... -
maven体验(1)
2008-02-29 11:28 15531.下载maven 地址:http://www.apac ... -
Maven中几个重要的概念
2008-02-29 11:23 2336在Maven中有几个重要的概念需要了解: 一、project ...
相关推荐
通过Session接口,我们能够很方便的创建一个SQLQuery(SQLQuery是一个接口,在Hibernate4.2.2之前,默认返回的是SQLQuery的实现类——SQLQueryImpl对象,在下文中出现的SQLQuery如非注明,都是指该子类)对象来进行...
query.setFirstResult()是数据库SQL语句实现。 2.你说是在数据库就分页好呢?还是把结果集都取到内存再分页好呢?(应该是在数据库就分了好些吧,但是如果在内存分页的话,换页的时候是不是更快一些呢?) 3.在...
16.1. 使用SQLQuery 16.1.1. 标量查询(Scalar queries) 16.1.2. 实体查询(Entity queries) 16.1.3. 处理关联和集合类(Handling associations and collections) 16.1.4. 返回多个实体(Returning multiple ...
16.1. 使用SQLQuery 16.1.1. 标量查询(Scalar queries) 16.1.2. 实体查询(Entity queries) 16.1.3. 处理关联和集合类(Handling associations and collections) 16.1.4. 返回多个实体(Returning multiple ...
16.1. 使用SQLQuery 16.1.1. 标量查询(Scalar queries) 16.1.2. 实体查询(Entity queries) 16.1.3. 处理关联和集合类(Handling associations and collections) 16.1.4. 返回多个实体(Returning multiple ...
9.1.4. 混合使用“每个类分层结构一张表”和“每个子类一张表” 9.1.5. 每个具体类一张表(Table per concrete class) 9.1.6. Table per concrete class, using implicit polymorphism 9.1.7. 隐式多态和其他继承映射...
16.1. 使用SQLQuery 16.1.1. 标量查询(Scalar queries) 16.1.2. 实体查询(Entity queries) 16.1.3. 处理关联和集合类(Handling associations and collections) 16.1.4. 返回多个实体(Returning multiple entities)...
16.1. 使用SQLQuery 16.1.1. 标量查询(Scalar queries) 16.1.2. 实体查询(Entity queries) 16.1.3. 处理关联和集合类(Handling associations and collections) 16.1.4. 返回多个实体(Returning multiple ...
Hibernate 使用 SQL Union 查询来实现这种策略。 这种策略支持双向的一对多关联,但不支持 IDENTIFY 生成器策略,因为ID必须在多个表间共享。一旦使用就不能使用AUTO和IDENTIFY生成器。 每个类层次结构一张表 @...
16.1. 使用SQLQuery 16.1.1. 标量查询(Scalar queries) 16.1.2. 实体查询(Entity queries) 16.1.3. 处理关联和集合类(Handling associations and collections) 16.1.4. 返回多个实体(Returning multiple ...
使用SQLQuery 16.2. 别名和属性引用 16.3. 命名SQL查询 16.3.1. 使用return-property来明确地指定字段/别名 16.3.2. 使用存储过程来查询 16.3.2.1. 使用存储过程的规则和限制 16.4. 定制SQL用来create,...
Hibernate查询语言(Query Language), 即HQL 11.1. 大小写敏感性(Case Sensitivity) 11.2. from 子句 11.3. 联合(Associations)和连接(joins) 11.4. select子句 11.5. 统计函数(Aggregate ...
10.1.4. 混合使用“每个类分层结构一张表”和“每个子类一张表” 10.1.5. 每个具体类一张表(Table per concrete class) 10.1.6. Table per concrete class, using implicit polymorphism 10.1.7. 隐式多态和其他...
它可以使用不同的缓存实现,如 EhCache 、 JBossCache 、 OsCache 等 (二级缓存是缓存实体对象的) 还有一个类型的 CACHE 就是 QueryCache . 它的作用就是缓存一个 Query 以及 Query 返回对象的 Identifier 以及...
9.1.4. 混合使用“每个类分层结构一张表”和“每个子类一张表” 9.1.5. 每个具体类一张表(Table per concrete class) 9.1.6. Table per concrete class, using implicit polymorphism 9.1.7. 隐式多态和其他继承映射...
10.1.4. 混合使用“每个类分层结构一张表”和“每个子类一张表” 10.1.5. 每个具体类一张表(Table per concrete class) 10.1.6. Table per concrete class, using implicit polymorphism 10.1.7. 隐式多态和其他...
16.1. 使用SQLQuery 16.1.1. 标量查询(Scalar queries) 16.1.2. 实体查询(Entity queries) 16.1.3. 处理关联和集合类(Handling associations and collections) 16.1.4. 返回多个实体(Returning multiple entities)...
创建一个基于SQL的Query 17.2. 别名和属性引用 17.3. 命名SQL查询 17.3.1. 使用return-property来明确地指定字段/别名 17.3.2. 使用存储过程来查询 17.3.2.1. 使用存储过程的规则和限制 17.4. 定制SQL用来...
2. 通过HQL/SQL 检索 hibernate query language (面向对象的查询语言) * a) 不再操纵表,它操纵的是持久化类的对象 b) 面向对象的 3. QBC ( query by criteria ) 更加面向对象 4. QBE ( query by Example ) 5....
Hibernate查询语言(Query Language), 即HQL 11.1. 大小写敏感性(Case Sensitivity) 11.2. from 子句 11.3. 联合(Associations)和连接(joins) 11.4. select子句 11.5. 统计函数(Aggregate ...