- 浏览: 1528993 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (516)
- Java (49)
- Java/Struts 2.0 (25)
- Java/Spring、Spring MVC (11)
- Java/Quartz (3)
- Java/Lucene (6)
- Java/Hibernate (19)
- Java/openJPA (7)
- Java/DWR (7)
- Java/Security、Spring Security/OAuth2 (6)
- Java/Threading (9)
- Java/XML (22)
- java/design pattern (4)
- Android (2)
- JavaScript (46)
- jquery (3)
- DB/MySQL (23)
- DB/Oracle (16)
- PHP (25)
- CSS (20)
- Linux (38)
- C/C++、DLL、Makefile、VC++ (31)
- 正则 (9)
- Eclipse (4)
- 安全、网络等概念 (25)
- 集群 (7)
- 网页 (5)
- 视频\音频 (1)
- HTML (6)
- 计算机数学/算法 (3)
- Virtualbox (1)
- LDAP (2)
- 数据挖掘 (6)
- 工具破解 (1)
- 其他 (13)
- Mail (1)
- 药材 (3)
- 游戏 (2)
- hadoop (13)
- 压力测试 (3)
- 设计模式 (3)
- java/Swing (2)
- 缓存/Memcache (0)
- 缓存/Redis (1)
- OSGI (2)
- OSGI/Gemini (0)
- 文档写作 (0)
- java/Servlet (3)
- MQ/RabbitMQ (2)
- MQ/RocketMQ (0)
- MQ/Kafka (1)
- maven (0)
- SYS/linux (1)
- cache/redis (1)
- DB/Mongodb (2)
- nginx (1)
- postman (1)
- 操作系统/ubuntu (1)
- golang (1)
- dubbo (1)
- 技术管理岗位 (0)
- mybatis-plus (0)
最新评论
-
pgx89112:
大神,请赐我一份这个示例的项目代码吧,万分感谢,1530259 ...
spring的rabbitmq配置 -
string2020:
不使用增强器 怎么弄?
OpenJPA的增强器 -
孟江波:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!4 ...
spring的rabbitmq配置 -
eachgray:
...
spring-data-redis配置事务 -
qljoeli:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!1 ...
spring的rabbitmq配置
转自:http://blog.csdn.net/fhd001/article/details/6272438
hibernate之查询(设置查询提示)
----------
1.setFlushMode()
假设你在执行查询之前修改了持久化对象。这些修改只出现在内存中,因此hibernate在执行查询之前,把持久化上下文和所有的变化清除到数据库。这样保证了查询在当前的数据中运行,并保证在查询结果和内存之间不会出现冲突。
这有时候是不现实的,例如,如果你执行一系列包含许多个查询-修改-查询-修改的操作,并且每次查询都获取一个与以前不同的数据集。换句话说,不需要在执行查询之前把修改清除到数据库。
可以在session中,利用setFlushMode()禁用持久化上下文的清除。如例:
session.setFlushMode(FlushMode.COMMIT);
或者,如果你想要只在特定的查询之前禁用清除,可以在Query对象中设置一个FlushMode,如例:
Query q = session.createQuery(queryString).setFlushMode(FlushMode.COMMIT);
hibernate不会在执行这个查询之前清除持久化上下文。
2.setCacheMode()
这是对查询结果的一个细粒度的优化,控制hibernate如何与二级缓存交互。
如例:
session.setCacheMode(CacheMode.IGNORE); 或 Query q = session.createQuery("from Item").setCacheMode(CacheMode.IGNORE); 或 Criteria criteria = session.createCriteria(Item.class).setCacheMode(CacheMode.IGNORE);
上例,CacheMode.IGNORE告诉hibernate不要为这个查询返回的任何实体而与二级缓存交互。换句话说,通过这个查询获取到的任何Item都不放在二级缓存中,如果你执行一个不应该更新二级高速缓存的查询,设置这种高速缓存模式就很有用,或许因为你正在获取的数据只与特定的情况相关,因此不应该耗尽高速缓存区域中的可用空间。
3.setReadOnly()
给特定的持久化对象禁用脏查询的一种方法 是设置session.setReadOnly(object,true)。你可以告诉Hibernate:由查询返回的所有实体对象都应该被当作是只读的。如例:
Query q = session.createQuery("from Item").setReadOnly(true);
由这个查询返回的所有Item对象都处于持久化状态,但是在持久化上下文中,没有给自动脏检查启用任何快照。hibernate不会自动持久化任何修改,除非用session.setReadOnly(object,false)禁用只模式。
4.setTimeout()
设置超时(timeout),来控制允许一个查询运行多久,如例:
Query q = session.createQuery("from Item").setTimeout(60); //1 minute Criteria criteria = session.createCriteria(Item.class).setTimeout(60);
这种方法与JDBC Statement中的setQueryTimeout()方法有着相同的语义和结果。
5.setFetchSize()
设置抓取大小,如例:
Query q = session.createQuery("from Item").setFetchSize(50); Criteria criteria = session.createCriteria(Item.class).setFetchSize(50);
JDBC抓取大小是对数据库驱动程序的一个优化提示:如果驱动程序没有实现这个功能,它就不能导致任何性能改善。如果它实现了,当客户端在一个查询结果(即ResultSet)中操作时,通过在一个批量中获取许多个行,可以改善JDBC客户端和数据库之间的通信。由于Hibernate幕后正在使用ResultSet,如果用list()执行一个查询,这个提示就可以改善数据获取。
6.setLockMode()
可以控制查询是否应该在数据库管理系统中强制悲观锁---这是一直持续到数据库事务结束的锁。如例:
Query q = session.createQuery("from Item item").setLockMode("item",LockMode.UPGRADE); Criteria criteria = session.createCriteria(Item.class).setLockMode(LockMode.UPGRADE);
这两个查询,如果得到数据库方言的支持,都会生成一个包括...FOR UPDATE操作的SQL声明。
发表评论
-
Hibernate延迟加载(转)
2014-05-04 15:54 765转自:http://cenjun615.blog.1 ... -
hibernate使用@subselect映射数据库视图
2013-12-21 21:15 3361文档引用:http://software-develope ... -
Hibernate annotation 自定义类型 userType
2013-04-01 17:26 1662第一步:添加自定义类: package com.a.en ... -
c3p0配置
2013-03-11 15:44 987<!--注册数据源 --> <bea ... -
Hibernate的缓存策略(转)
2012-02-03 15:28 900Hibernate 的一级缓存 ... -
如何在spring配置多个Hibernate数据源链接(转)
2012-02-02 15:47 1200一、首先配置hibernate数据源: <?xm ... -
UserType 的 MapType,ListType
2011-12-07 14:42 1265import java.io.Serializable; i ... -
在Hibernate显式使用索引
2011-02-25 19:41 1340http://www.znetdevelopment.com/ ... -
Hibernate中多对多关系映射、保存、查询
2009-10-13 20:13 14217首先是一些基础模型类的建立: import java. ... -
Hibernate HQL 语法大全 查询技巧(2)
2009-09-25 19:10 179911.子查询 ... -
Hibernate HQL 语法大全 查询技巧(1)
2009-09-25 19:10 4992HQL: Hibernate查询语言 ... -
Join用法,HQL的方法,Hibernate中的fetch
2009-09-25 18:47 1778Join用法: 主要有Inner J ... -
xdoclet 2
2009-04-24 10:42 1478XDoclet 2 all XDoclet -&g ... -
hibernate 随机 查询
2009-04-03 21:36 2741/** * 随机取出N条记录 * * @p ... -
XDoclet - discriminator标签
2009-03-14 23:49 2396http://blog.csdn.net/chenjyuj/a ... -
Hibernate UserType 使用xdoclet映射数据库问题
2008-10-18 09:49 1145http://www.hibernate.org/282.ht ... -
Hibernate
2008-08-26 10:42 1139http://www.openfans.net/viewArt ... -
Hibernate 一对一
2008-08-26 10:14 1393//ClassA: import java.io.Seria ...
相关推荐
为了确保智能提示功能的正常工作,可能还需要在IDE的设置中配置XDoclet插件,使IDE能够识别和处理这些特殊注释。例如,在Eclipse中,需要在“首选项”->“Java”->“编辑器”->“内容助手”中启用“其他注释处理器”...
至于`工具`,像IntelliJ IDEA或Eclipse这样的集成开发环境提供了强大的Hibernate支持,包括代码提示、对象关系映射编辑器以及集成的调试工具。这些工具可以帮助我们在编写和测试查询时提高效率,同时也能帮助我们...
Query By Example(QBE)则是通过实例化一个对象,并设置其属性值,然后将这个对象作为查询的模板,Hibernate会根据对象的属性值生成对应的WHERE子句进行查询。这种方式在处理简单查询时非常直观,但当查询条件变得...
在自动提示功能中,Hibernate可能是用来从数据库中检索匹配的数据,比如根据用户的输入查询相关的建议条目,并将结果转换为JSON格式,返回给前端。 具体实现流程可能是这样的:当用户在输入框中输入字符时,...
ExtJs4.2+Mysql+Struts2+Hibernate3实现分页查询 1.libs目录缺少hibernate核心jar包 2.libs目录缺少struts jar 3.WebRoot目录缺少ExtJs4.2核心类库 以上信息我都在项目里面注明了,因为这些内容的文件太大了,CSDN不...
- **Java property/class completion**:在编辑Hibernate映射文件时,Eclipse会自动提示Java属性和类的完成建议。 - **Table/Column completion**:在映射文件中输入表名或列名时,提供自动补全功能。 - **...
- **配置 Hibernate**:首先需要设置 Hibernate 的核心配置文件 `hibernate.cfg.xml`,并定义实体类与数据库表之间的映射关系。 - **创建实体类**:定义 Java 类,并使用注解或 XML 配置文件指定这些类与数据库表的...
【标签】"3 Hibernate 源代码" 提示我们,这个项目使用了Hibernate 3版本。Hibernate是一个对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互。通过将Java类与数据库表关联,Hibernate自动处理SQL...
标签"Hibernate"提示我们,本教程的核心内容是关于Hibernate的使用技巧。 【知识点详解】 1. **Hibernate Query Language (HQL)** HQL是Hibernate提供的面向对象的查询语言,类似于SQL,但更专注于操作对象而非...
在这个项目中,"ajax+hibernate"的结合被用来实现一个类似于Google输入提示的功能,这涉及到用户在搜索框输入时,后台实时查询并返回相关建议。 首先,让我们详细了解一下Ajax。Ajax是一种在无需刷新整个网页的情况...
- **集成HQL编辑器**:提供HQL(Hibernate Query Language)的语法高亮和智能提示,提高了查询编写效率。 - **版本控制**:与Git、SVN等版本控制系统无缝集成,便于团队协作和代码版本管理。 总之,Hibernate for ...
通过以上步骤,你已经成功地在 Eclipse 中配置了 Hibernate Tools,现在可以利用其各种功能,如生成实体类、映射文件、HQL查询编辑器等,提高你的 Hibernate 开发效率。在实际开发中,熟悉和熟练使用这些工具将极大...
通过设置页面选择Hibernate3.1,指定数据库连接(例如在Database Explorer中已配置的mssql connection),并设置SessionFactory类的生成位置。 3. **创建数据表**:根据需求,创建数据库表,例如这里提到的USERINFO...
本实例将深入探讨如何使用Hibernate实现用户注册和登录功能,这涉及到的主要知识点包括:Hibernate的基本配置、实体类定义、数据持久化、Session接口、Transaction管理以及SQL查询的映射。 首先,要使用Hibernate,...
对于详细信息展示,可能通过用户ID来获取特定用户的信息,同样使用Hibernate的查询机制。 总的来说,这个项目涵盖了Hibernate和Struts2的基础使用,包括数据库操作、用户认证、权限控制以及数据的展示。对于初学者...
3. **设置数据库连接**:在Hibernate配置文件(hibernate.cfg.xml)中指定数据库连接信息。 4. **反向工程**:使用Hibernate Tools生成实体类和映射文件,或者根据实体类生成数据库表。 5. **运行Ant/Maven任务**:...
除了上述功能,Hibernate Tools还提供了HQL查询编辑器、实体类图视图等功能,方便开发者进行数据库相关的操作和调试。 总之,Hibernate Tools是提高Java开发效率的好帮手,熟练掌握其使用方法,能让你在处理ORM相关...
【hibernate tools插件安装】是关于Java开发中的一款实用工具,主要目的是为了提高开发效率,特别是针对使用Hibernate框架的项目。Hibernate Tools是Hibernate官方提供的一个扩展,它集成了Eclipse、IntelliJ IDEA等...
- 在更新中心中选择“手动安装”,然后添加刚刚下载的`.nbm`文件,按照提示完成安装过程。 - 安装完成后,再次通过“更新中心”检查并安装Hibernate插件。这个过程可能需要联网,找到Hibernate插件,接受协议,...
2. **添加Hibernate支持**:在项目上右键,选择“Add Hibernate Capabilities”选项,按照提示完成Hibernate环境的配置。 3. **自定义配置文件**:根据项目的具体需求,修改`hibernate.cfg.xml`文件中的配置项。 4. ...