- 浏览: 7708 次
- 性别:
- 来自: 济南
最新评论
文章列表
也许你听说过Hibernate的大名,但可能一直不了解它,也许你一直渴望使用它进行开发,那么本文正是你所需要的!在本文中,我向大家重点介绍Hibernate的核心API调用库,并讲解一下它的基本配置。
看完本文后,我相信你对什么是ORM(对像/关系映射)以及它的优点会有一个深刻的认识,我们先通过一个简单的例子开始来展现它的威力。
正如一些传统的经典计算机文章大都会通过一个“hello,world”的例子开始讲解一样,我们也不例外,我们也将从一个相对简单的例子来阐述 Hibernate的开发方法,但如果要真正阐述Hibernate的一些重要思想,仅仅靠在屏幕上打印一些字符是远远不够的 ...
这边介绍如果对象中包括List型态的属性时如何进行映像,首先我们假设我们要制作一个在线档案管理,使用者上载的文件名称可能是重复的
、具有相同名称,之前使用的Set不允许有重复的内容,所以这次我们改用List,我们的User类别撰写如下:
User.java
package onlyfun.caterpillar;
import java.util.*;
public class User {
private long id;
private String name;
private List files = new ArrayList();
public List get ...
以下是用 hibernate的HQL(面向对象的查询语言)实现模糊查询的3种方式,其中方式一是这三中方式中最理想的方式,至少方式一可以有效的防止由于查询条 件中需要参数的增多导致的代码长度太长出现代码折行的情况(代码太长会给后期的维护和测试带来很大的不便)。但是还有比他更理想的方式,因为方式一在定义 strSQL时使用String ,这就势必会造成当变量过多时strSQL自身太长的问题。一个比较有效的改进办法就是将String 改进为StringBuffer来处理。
方法一:
java 代码
1.public List listUncertainClasses(Object OId) ...
使用QBC方式:
List singlechoose = session.createCriteria(JX_ExerciseDb.class)
.add(Expression.like("jdd","%"+jdd+"%"))
.add(Expression.eq("moduleid",trainid))
.add(Expression.eq("type","01"))
.list();
使用HQL方式:
String hql ...
分页在任何系统中都是非常头疼的事情,有的数据库在语法上支持分页,而有的数据库则需要使用可滚动游标来实现,并且在不支持可滚动游标的系统上只能使用单向游标逐步接近要取得的数据。
Hibernate提供了一个支持跨系统的分页机制,这样无论底层是什么样的数据库都能用统一的接口进行分页操作。比如下面的代码就是从第500条开始取出100条记录:
Query q = session.createQuery("from FooBar as f");
q.setFirstResult(500);
q.setMaxResults(100);
List l = q.list();
那么 ...
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
String hqlUpdate = "update Customer set name = :newName where name =ldName";
int updatedEntities = s.createQuery( hqlUpdate )
.setString( "newName", newName )
.setString( "oldName&quo ...
近日为是否在项目中使用Hibernate进行大数据量的性能测试,有一些总结,
1) 在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中,这缓存大太时会严重显示性能,所以在使用Hibernate处理大数据量的,可以使用 ...
1.引言
Hibernate是最流行的对象关系映射(ORM)引擎之一,它提供了数据持久化和查询服务。
在你的项目中引入Hibernate并让它跑起来是很容易的。但是,要让它跑得好却是需要很多时间和经验的。
通过我们的使用Hibernate 3.3.1和Ora ...