-
Hibernate: Hibernate是java领域的一块开源的ORM框架技术。 Hibernate对JDBC进行了非常轻量级的对象封装。 其他主流的ORM框架技术: 1、MyBatis:前身就是著名的iBatis。 2、Toplink:后被Oracle收购,并重新包装为Oracle AS TopLink。 3、EJB:本身是JAVAEE的规范。查看全部
-
Opensession和getCurrentSession的区别: getCurrentSession每次提交事务后会自动关闭事务,而opensession要手动关闭,否则会导致连接池溢出。 opensession获取session会每次新建一个session,而getCurrentsession是在获取当前session,操作当前Session查看全部
-
session详解查看全部
-
两种获取Session的方式:<br> 1.openSession();<br> 2.getCurrentSession查看全部
-
hibernate执行流程查看全部
-
hibernate.cfg.xml基本配置查看全部
-
hibernate基础总结查看全部
-
mapping 映射是把对象映射到数据库里查看全部
-
java bins 类 遵循的4个条件 public class student { 1.共有的类 2.提供公有的不带参数的默认的构造方法 3.属性私有 4.属性setter/getter 封装方法 }查看全部
-
(5)User.hbm.xml常用配置【】 <hibernate-mapping schema="schemaName" //模式的名字 catalog="catalogName" //目录的名称 default-cascade="cassade_style" //级联风格 @ default-access="field/property/CalssName" //访问策略 @ default-lazy="true/false" //加载策略 @ package="packagename" //默认包名 /> <class name="ClassName" //对应映射的类 table="tableName" //对应映射数据库的表 batch-size="N" //抓取策略,一次抓取多少记录 where="condition" //条件 eg:抓取条件 entity-name="EntiyName" //如果需要映射多张表 /> <id //表的主键 name="propertyName" //对应的属性 type="typeName" //对应类型 column="column_nam" //映射数据库中表当中字段名的名称 length="length" //指定长度 <generator class="generatorClass"/> //主键生成策略 @ />查看全部
-
openSession与getCurrentSession的区别: (1)getCurrentSession在事务提交或者回滚之后会自动关闭,而openSesssion需要你手动关闭。如果使用openSession而没有手动关闭,多次之后会导致连接池溢出! (2)openSession每次创建新的session对象,getCurrentSession使用现有的session对象 openSession与getCurrentSession openSession 每次使用都是打开一个新的session,使用完需要调用close方法关闭session; getCurrentSession 是获取当前session对象,连续使用多次时,得到的session都是同一个对象,这就是与openSession的区别之一 ; 一般在实际开发中,往往使用getCurrentSession多,因为一般是处理同一个事务,所以在一般情况下比较少使用openSession;查看全部
-
openSession 每次使用都是打开一个新的session,使用完需要调用close方法关闭session; getCurrentSession 是获取当前session对象,连续使用多次时,得到的session都是同一个对象,这就是与openSession的区别之一 ; 一般在实际开发中,往往使用getCurrentSession多,因为一般是处理同一个事务,所以在一般情况下比较少使用openSession; 如何获得session对象??? (1)openSessionion (2)getCurrentSession 如果使用getCurrentSession需要在hibernate.cfg.xml文件中进行配置: 如果是本地事务(jdbc事务) <property name="hibernate.current_session_context_class">thread</property> 如果是全局事务(jta事务) <property name="hibernate.current_session_context_class">jta</property>查看全部
-
transaction 事物<br> hibrenate操作都是封装在事物中,并且默认是非自动提交方式,所以session保存对象时,如果不开启事物,并且手工提交事物,对象并不会真正保存在数据库中<br> 打开session后,必须提交事务(Transaction),否则数据不会真正保存在数据库中<br> 不使用事务的自动提交方式,记得用session.flush()来输出sql语句,否则添加不成功 beginTransaction,commit(可用session.doWork(new Work(){}))方法来实现<br> session.flush():输出sql语句查看全部
-
configuration:读取配置文档 sessionFactory:对象关系映射文件 session:操作数据库的对象,类似于JDBC中的connection session的方法:save,delete,update,createQuery() Transaction:commit session和connection:多对一关系,一个connection服务多个session,每个session都有与之对应的connection 1.不建议直接使用jdbc的connection操作数据库,而是通过session操作数据库。 2.session可以了解为操作数据库的对象,操作数据库之前必须先获取session的实例 3.session与connection,是多对一关系,每个session都有一个与之对应的connection,一个connection不同时刻可以供多个session使用。 4.把对象保存到关系数据库中需要调用session的各种方法:save(),update(),delete(),createQuery查看全部
-
@·hibernate.cfg.xml常用配置 hibernate.cfg.xml常用配置 (1)hibernate.show_sql 编码阶段便于测试 (2)hibernate.format_sql 排版问题,建议设置为true (3)hbm2ddl.auto 可以帮助由 java代码生成数据库脚本,进而生成具体的表结构。create|update|create-drop|validate (4)hiberante.default_schema 默认的数据库 (5)hibernate.dialect 配置Hibernate数据库方言 hiberante的前缀可以省略,即:hibernate.dialect等同于dialect查看全部
举报
0/150
提交
取消