
hibernate 入门
mixer_a
这个作者很懒,什么都没留下…
展开
-
Java对象持久化技术Hibernate入门之一
Hibernate是Java应用和关系数据库之间的桥梁,它负责Java对象和关系数据之间的映射。Hibernate内部封装了通过JDBC访问数据库的操作,向上层应用提供了面向对象的数据访问API。在Java应用中使用Hibernate包含以下步骤。 (1)创建Hibernate的配置文件。 (2)创建持久化类。 (3)创建对象-关系映射文件。 (4)通...原创 2012-04-07 09:31:44 · 102 阅读 · 0 评论 -
hibernate+sqlserver中文乱码的解决
首先要编写一个编码过滤器,起编码如下:package com.Book.Page.Filter;import javax.servlet.*;import java.io.IOException;public class SetCharacterEncodingFilter implements Filter {protected String encoding...2012-04-10 08:03:16 · 330 阅读 · 0 评论 -
Hibernate工作原理及使用理由
1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭SesstionFactory为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。2. Hibernate是一个基于JDBC的主流持久化框架,是一个...2012-04-11 10:01:23 · 57 阅读 · 0 评论 -
Hibernate里面使用sql查询
hibernate3.0中是可以使用sql语句,但一般还是hql语句的,毕竟我们采用hibernate就是为了使用o/r mapping,如果还用sql就没意义了.除非实在没有办法,不然不要用.sql的查询:Java代码 Query query=session.createSQLQuery( "select {c.*} from CUSTOMERS c wher...2012-04-11 10:17:05 · 78 阅读 · 0 评论 -
Hibernate里面使用sql查询
hibernate3.0中是可以使用sql语句,但一般还是hql语句的,毕竟我们采用hibernate就是为了使用o/r mapping,如果还用sql就没意义了.除非实在没有办法,不然不要用.sql的查询:Query query=session.createSQLQuery("select {c.*} from CUSTOMERS c where c.Name like:custom...原创 2012-04-12 21:28:34 · 94 阅读 · 0 评论 -
使用Hibernate实现多表查询
项目中使用的是Hibernate框架,对于表查询一直只针对一张表,原码:// 搜索员工public List searchUseraccount(String username, String deptid, String cid,String groupid) throws Exception {List accountList = new ArrayList();try {...原创 2012-04-12 21:29:10 · 95 阅读 · 0 评论 -
Hibernate缓存何时使用和如何使用
<hibernate-mapping><class name="com.sobey.sbm.model.entitySystem.vo.DataTypeVO" table="dcm_datatype"><cache usage="read-write"/><id name="id" column="TYPEID原创 2012-04-12 21:29:24 · 70 阅读 · 0 评论 -
使用hibernate的HQL查询语言时参数需要为String类型
本人新手,在使用hibernate的HQL查询语言时传进来的参数需要为String类型,在这种情况下就无法像id(int类型那样做了):如果按id(int类型)查询时,HQL很方便,查询的sql语句如下:[code="java"]public int findLogs(int x,int y){...String query = "from TSyslogs ts where ts...原创 2012-04-12 21:29:27 · 371 阅读 · 0 评论 -
Hibernate分页查询(使用HQL语言)
[code="java"]例:import java.util.Iterator;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import junit.framework.TestCase;public class QueryTest extends ...原创 2012-04-12 21:29:35 · 87 阅读 · 0 评论 -
Hibernate JPA 的索引的使用
在Hibernate中Model中一个对象关联的对象相当多是必须使用索引,如果多个表关联更要使用关联,否则效率相等的低下,例如在项目中酒店的查询中大约有几千条数据但是查询就需要5分钟以上,实在是一个严重的效率瓶颈,采用的方案,在集合等地方添加相应的索引,加快搜索效率。如下:针对重复几率比较大的使用索引:[code="java"]/*** 开始日期(YYYY-MM-DD)priDat...原创 2012-04-13 23:44:50 · 92 阅读 · 0 评论 -
hibernate HQL 查询使用详解
Hibernate Query Language(HQL)提供了十分强大的功能,推荐大家使用这种查询方式。HQL具有与SQL语言类似的语法规范,只不过SQL针对表中字段进行查 询,而HQL针对持久化对象,它用来取得对象,而不进行update、delete和insert等操作。而且HQL是完全面向对象的,具备继承、多态和 关联等特性。1.from子句from字句是最简单的HQL语句,例如 f...原创 2012-04-13 23:45:11 · 77 阅读 · 0 评论 -
spring 配置 hibernate 二级缓存
今天在配置spring + hibernate过程中出现些问题,不过最终成功了,拿出来分享一下 1:配置spring 文件在sessionfactiory的bean中加上如下配置Xml代码< prop key = " hibernate .show_sql" > true </ prop > 打开二级缓存 ...2012-04-10 08:01:24 · 92 阅读 · 0 评论 -
spring + hibernate 二级缓存 ehcache
1:配置spring 文件在sessionfactiory的bean中加上如下配置 Xml代码 < prop key = " hibernate .show_sql" > true </ prop > 打开二级缓存 < prop key = " hibernate .cache.use_s...2012-04-09 10:05:18 · 99 阅读 · 0 评论 -
Java对象持久化技术之Hibernate入门之二
创建数据库Schema 在本例中,与Customer类对应的数据库表名为CUSTOMERS,它在MySQL数据库中的DDL定义如下: create table CUSTOMERS ( ID bigint not null primary key, NAME varchar(15) not null, EMAIL varchar(128) not null, PASSWORD varc...原创 2012-04-07 09:33:15 · 87 阅读 · 0 评论 -
Java对象持久化技术之Hibernate入门之三
Hibernate对JDBC进行了封装,提供了更加面向对象的API。图2-4和图2-5对比了直接通过JDBC API及通过Hibernate API来访问数据库的两种方式。图2-4 通过JDBC API访问数据库图2-5 通过Hibernate API访问数据库以下例程2-4的BusinessService类演示了通过Hibernate API对Customer对象进行持久化的操作。本章2...原创 2012-04-07 09:34:30 · 211 阅读 · 0 评论 -
从Hibernate2到3移植的两点初体验
H3提供了很多令人兴奋的特性,从RC1提供download开始便在机器上创建了新的H3test project,由于时间问题,H3的E文doc也只看到第五章节(都是打印A4纸阅读的,饭前厕中枕边 苦~),而且一直到前天才开始正式代码移植...这两天感受并不多,本来没想发到Javaeye,但是关于H3的lazy机制,觉得还是有点费解,并不是机制本身,而是其进行如此大的变动的目的从H2到...原创 2012-04-07 09:36:38 · 83 阅读 · 0 评论 -
使用Hibernate3实现分页功能
http://blog.youkuaiyun.com/zhjb1025/archive/2006/04/19/668631.aspx 整理的代码如下: Page.Java接口packageorg.domain.scrm4u.helper;importjava.util.List;publicinterfacePage{ booleanisFirstPage();...原创 2012-04-07 09:42:19 · 134 阅读 · 0 评论 -
Hibernate关联关系映射
关联关系映射的分类可以遵行这样一个原则:双向还是单项、是否有链接表, 依赖主键还是外键。 关联关系映射通常情况是最难配置正确的。在这个部分中,我们从单向关系映射开始,然后考虑双向关系映射,由浅至深讲述一遍典型的案例。在所有的例子中,我们都使用 Person和Address。 不使用连接表的单向关联: 1、单向many-to-one: 单向many-to-one关联是...原创 2012-04-08 13:14:13 · 78 阅读 · 0 评论 -
Hibernate关联关系映射--2
2、基于连接表的单向多对一关联在关联关系可选的情况下应用也很普遍。链接表的主键为多端主键。 <class name="Person"> <id name="id" column="personId"> <generator class="native"/> </id> &原创 2012-04-08 13:14:59 · 74 阅读 · 0 评论 -
Hibernate缓存
hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了。 二级缓存是SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache、oscache等,需要设置hibernate.cache.provider_class,我们这里用ehcach...2012-04-08 13:15:47 · 66 阅读 · 0 评论 -
Hibernate事务处理机制--1
Hibernate是对JDBC的轻量级对象封装,Hibernate本身是不具备Transaction处理功能的,Hibernate的 Transaction实际上是底层的JDBC Transaction的封装,或者是JTA Transaction的封装,下面我们详细的分析:Hibernate可以配置为JDBCTransaction或者是JTATransaction,这取决于你在hibern...原创 2012-04-08 13:17:55 · 70 阅读 · 0 评论 -
Hibernate事务处理机制----2
二、JTATransaction如果你在EJB中使用Hibernate,或者准备用JTA来管理跨Session的长事务,那么就需要使用JTATransaction,先看一个例子:[code="java"]javax.transaction.UserTransaction tx = new InitialContext().lookup("javax.transaction.User...原创 2012-04-08 13:20:44 · 87 阅读 · 0 评论 -
实现OSCache二级缓存的配置方案
今天在使用hibernate的时候要配置二级缓存,给大家分享一下二级缓存的配置方法 *********实现OSCache二级缓存的配置方案*********** 1.首先我们需要在hibernate.cfg.xml中配置几个属性: <!-- 是否开启二级缓存,缺省为开启 --> < property name ="cache.use_second_level...2012-04-09 10:03:25 · 222 阅读 · 0 评论 -
JPA环境下使用Hibernate二级缓存
hibernate二级缓存本质上分为两类: 1.对象缓存 2.查询缓存 在JPA环境下,例如Jboss,底层还是通过Hibernate来实现JPA的Query。 下边简单说一下配置的步骤: 1.配置entity 在实体上方加入@Cache [code="java"]import java.io.Serializable;import javax.persistence.Entity...原创 2012-04-13 23:45:19 · 138 阅读 · 0 评论