Hibernate基础之配置文件和session

1.hibernate.cfg.xml常用配置

1.1.常用的属性


2.Session

2.1.hibernate程序的执行流程


2.2.不建议使用jdbcconnection操作数据库,而是通过session对象操作数据库。

2.3.session可以理解为操作数据库的对象,每个session都有一个与之对应的connection对象,一个connection对象不同时刻可以供多个session使用。

2.4.session的各种方法:save()update()delete()createQuery()

3.transaction(事物)

3.1.hibernate事物需要主动提交,也可以调用sessiondoWork()方法,方法传入Work接口的匿名实现类的实例(在实现接口Work的方法execute中实现自动提交)。

4.session的详解

4.1.如何获取session对象

4.1.1.openSession

4.1.2.getCurrentSession

1)如果是第二种方法需要在hibernate.cfg.xml中进行配置:

如果是本地事物(jdbc事物):

<property name=”hibernate_current_session_context_class”>thread</property>

如果是全局事物(jta事物):

<property name=”hibernate_current_session_context_class”>jta</property>

4.2.openSessiongeCurrentSession的区别

4.2.1.getCurrentSession在事物提交或者回滚后会自动关闭,而openSession需要手动关闭。如果使用openSession而没有手动关闭,多次连接后会导致连接池溢出的情况。

4.2.2.openSession每次使用都会创建新的session对象,而getCurrentSession则使用已存在的session对象。

5.hbm配置(对象-关系映射文档)

5.1.hibernate-mapping标签常用属性

<hibernate-mapping
    schema = "schemaName"
    catalog = "catalogName"
    default-cascade = "cascade_style"  //联级的风格
    default-access = "field|property|ClassName"  //访问策略
    defalut-lazy = "true|false"  //加载策略
    package = packagename

/>





5.2.class标签常用属性

<class
    name = "ClassName"
    table = "tableName"
    batch-size = "N"
    where = "condition"
    entity-name = "EntityName"
/>


5.3.id标签(主键)常用属性

<id
    name = "propertyName"
    type = "typename">
    <column = "column_name"/>
    <length = "length"/>
    <generator class = "generatorClass" />
</id>

5.3.1.主键生成策略




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值