文档章节

Hibernate(2)

学而时习之
 学而时习之
发布于 2015/04/22 17:04
字数 665
阅读 78
收藏 8
点赞 0
评论 0

1、概述

2、实体对象的生命周期

 

 3、VO与 PO

4、session接口

 session管理方案:

第二种方法:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:tx="http://www.springframework.org/schema/tx"
 xsi:schemaLocation="
 http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans.xsd
 http://www.springframework.org/schema/tx
 http://www.springframework.org/schema/tx/spring-tx.xsd
 http://www.springframework.org/schema/aop
 http://www.springframework.org/schema/aop/spring-aop.xsd">
 <bean id="sessionFactory"
  class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <property name="packagesToScan">
   <list>
    <value>com.isoftstone.persistance.bean</value>
    <value>com.iss.cloud.portal.modules</value>
   </list>
  </property>
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">${hibernate.dialect}</prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.format_sql">true</prop>
    <prop key="hibernate.hbm2ddl.auto">none</prop>
    <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>
    <prop key="hibernate.cache.use_query_cache">true</prop>
                <prop key="cache.use_second_level_cache">true</prop>
                <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
   </props>
  <!-- 
   <value>
    hibernate.dialect=org.hibernate.dialect.HSQLDialect
    hibernate.format_sql=true
    hibernate.show_sql=true
    hibernate.hbm2ddl.auto=update<# # spaces here for exception>
   </value>
   -->
  <!-- 
    hibernate.dialect=org.hibernate.dialect.MySQLDialect
    hibernate.current_session_context_class=org.hibernate.context.internal.JTASessionContext
    hibernate.transaction.jta.platform=org.hibernate.service.jta.platform.internal.SunOneJtaPlatform  
   -->
  </property>
  <!--<property name="jtaTransactionManager">
   <ref bean="transactionManager"/> 
  </property> -->
 </bean>
</beans>

 5、session的使用

执行save方法时得3种操作:

执行save方法后,

执行commit方法后,

 

 

    1)

    2)

 

 

6、hibernate的映射类型

来灵活定制客户化映射类型。了解

 

底层数据库使用数据类型访问数据库,而hibernate使用JDBC驱动访问数据库,jdbc驱动程序对底层数据库使用标准SQL类型进行封装,向上提供标准SQL类型接口,那么hibernate就可以使用标准

SQL类型来生成DML

 

也可以定义为byte[]

或者:

 

根据此返回值读取该内容

 

也可以是String类型

 7、值类型集合的映射方法

结果为:2

插入时,会把对象插入有序的对象序列,支持两种排序方式,自然排序和客户化排序,默认自然排序,当使用自然排序时,

只能向TreeSet中加入相同类型的对象,并且这些对象的类型必须实现了Comparable接口;而客户化排序必须实现Comparator

接口,此接口定义了compare方法,实现这个方法,定义自己的排序规则,当创建TreeSet对象时,就把我们对Comparator接口的实现类的实例化对象作为其初始化参数,调用添加方法时,就会使用客户化排序规则排序。

创建users表和images表

 联合主键:

 

 主要实现类有LinkedList和ArrayList,LinkedList采用链表数据结构,ArrayList代表大小可变的数组,List接口还有一个实现类Vector,Vector类的实现采用了同步机制,而ArrayList没有使用同步机制。

List对集合中的对象按索引位置排序,允许按照对象在集合中的索引位置添加和查找对象,

修改联合主键

无需设置position属性。

 

小结:

 

© 著作权归作者所有

共有 人打赏支持
学而时习之
粉丝 29
博文 92
码字总数 42877
作品 0
西安
第一个hibernate程序,成功运行,但是出现很多INFO 和warn ,但是没有Exception

主程序 import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.lucu.Student; public class StudentTest { public stat......

进击的拖拉机 ⋅ 2014/12/02 ⋅ 2

Java project 中获取hibernate的Configuration的2种方式

方式一、通过hibernate.cfg.xml文件配置 1. hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC <hibernate-configuration><session-fact......

绿林小子 ⋅ 2015/12/09 ⋅ 0

spring c3p0配置

网上关于C3P0在spring中的配置,几乎没有完全正确的(至少我还没发现)。查了c3p0的文档,又试验过N次。得出如下配置是正确的: <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPo...

IT_小翼 ⋅ 2012/12/21 ⋅ 3

《JavaEE基础实用教程》笔记说明

“《JavaEE基础实用教程》笔记”分类中的文章是本人学习《JavaEE基础实用教程》时所做的笔记。 该书作者:郑阿奇 著。ISBN:9787121091360。 这里整理出第3、4、5章的笔记,主要内容是Strut...

JerryPan ⋅ 2016/02/19 ⋅ 1

hibernate中oracle使用原生sql查询left join

sb.append(" left join THOUSESITEAUDITO t2 on m.FAPPLYID = t2.FAPPLY_ID"); 增加上面的语句后就报错: 2015-2-2 18:32:34 org.hibernate.type.NullableType nullSafeGet 信息: could not......

孙青彪 ⋅ 2015/02/02 ⋅ 2

erlang hibernate函数不会清除进程字典

一直想知道,erlang进程hibernate会不会把状态值给删除,通过代码知道,不会。 测试过程: 可以看到,更新了20个数据到进程字典里面,通过hibernate操作,可以把totalheapsize、heapsize给减...

格通 ⋅ 2016/11/03 ⋅ 0

Hibernate Tools

Hibernate Tools是由JBoss推出的一个Eclipse综合开发工具插件,该插件可以简化ORM框架Hibernate,以及JBoss Seam,EJB3等的开发工作。Hibernate Tools可以以Ant Task以及Eclipse插件的形式运...

匿名 ⋅ 2008/09/16 ⋅ 0

Hibernate 学习笔记

Hibernate冬眠 ORM框架(O - R mapping )分别是对象 关系 映射 对象 – 持久化 – 数据库 (关系数据库、对象数据库) 对象 – 关系 Hibernate的优点:(1)使用HIBERNATE.应用层就可以专...

xiahuawuyu ⋅ 2012/03/05 ⋅ 0

Hibernate 的helloworld

前言:hibernate 必须的jar包链接地址:https://pan.baidu.com/s/1i4D6Rf3 当然你也可以去官网自行下载,官网地址:http://hibernate.org/orm/downloads/,可以选择想要的版本,我这里选的是...

qimh ⋅ 2016/12/28 ⋅ 0

Hibernate之开门见山

1:SSH框架:   Struts2:基于mvc模式的应用层框架模式(Servlet层)   Hibernate:基于持久层的框架(数据访问层)   Spring:创建对象对象处理的依赖关系以及框架整合(Service层) 2:框...

别叫小伙 ⋅ 2017/03/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 37分钟前 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 56分钟前 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

Lombok简单介绍及使用

官网 通过简单注解来精简代码达到消除冗长代码的目的 优点 提高编程效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名 4.idea中安装lombnok pom.xml引入 <dependency> <grou...

to_ln ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部