Hibernate基础介绍
来源:互联网 发布:绿茶软件园源码 编辑:程序博客网 时间:2024/06/16 06:49
Hibernate:
是Java领域的一款ORM框架的技术;
是对JDBC进行非常轻量级的封装;
在Eclipse中配置Hibernate Tools:
Help—>Eclipse Markets Place —>在输入框中输入Hibernate-Tools—>Go—>JBoss Tools —>Install —>安装—>重新启动;
Hibernate.cfg.xml常用配置:
show_sql:是否把Hibernate运行时的SQL语句输入到控制台;
format_sql:输入控制台的sql是否进行排版,便于阅读;
hbm2ddl.auto:可以帮助由Java代码生成数据库脚本,进而生成具体表结构,create、update、create-drop、validate;
default_schema:默认数据库;
dialect:配置数据库的方言,可以针对特殊的数据库进行优化;
Session介绍:
configration:读取Hibernate.cfg.xml文件;
SessionFactory:对象映射关系文件 ,他的创建和销毁都是非常消耗资源的,通常一个数据库只创建一个;
session:类似于JDBC的connection,进行数据save、delete、update等;
不建议使用Jdbc的connection操作数据库路,而是使用Session操作数据库,Session和connection是多对一的关系,每一个Session都有与之对应的connection,一个connection不同时刻可以给多个Session使用;
transaction:Hibernate对数据的操作都是封装在事务当中的,并且是非自身的提交方式,所以在Session中保存对象,如果不手动提交事务,对象并不会保存在数据库中;
获取session:
1.SessionFactory的openSession;
2.getcurrentSession:如果使用这种方法需要在Hibernate.cfg.xml文件中进行配置;
本地事务:<property name="hibernate.current_session_context_class">thread<property>
全局事务:<property name="hibernate.current_session_context_class">jat<property>
openSession和getcurrentSession的区别:
1.getcurrentSession在事务提交或者回滚会自动关闭,而openSession需要自己手动关闭,如果多次使用openSession而没有手动关闭,会可能导致连接池溢出;
2.openSession会每次创建新的Session;getcurrentSession使用现有的Session(单例);
hbm配置文件常用设置:
<hibernate-mapping
schema="模式的名字"
catalog="目录名字"
default-cascade="级联风格"
default-access="访问策略"
default-lazy="加载策略"
package="包名"
/>
<class
name="类名"
table="表名"
batch-size="抓取多少条记录”
where="条件"
/>
<id
name="属性名"
type="数据类型'
column="字段名"
length="长度"
<generator class="主键生成策略"
/>
常用主键生成策略:
1.assigned 由Java应用程序负责生成;
2.native有底层数据库自动生成,mysql是autoincrement、Oracle是sequence
- 【Hibernate】--Hibernate基础介绍
- Hibernate基础介绍
- Hibernate 基础介绍
- hibernate基础 类与接口介绍
- struts2+Hibernate+spring基础整合相关介绍
- Hibernate搭建教程以及基础信息介绍
- Hibernate基础学习(二)—Hibernate相关API介绍
- HIBERNATE介绍
- hibernate 介绍
- Hibernate介绍
- Hibernate 介绍
- Hibernate介绍
- Hibernate 介绍
- Hibernate介绍
- hibernate介绍
- Hibernate介绍
- Hibernate介绍
- hibernate---->介绍
- IOS 事件传递说明
- download and install Mongo db
- 浏览器友好的变量输出
- 树的最小支配集
- css3: nth-child(n)解析
- Hibernate基础介绍
- 负载均衡 achpace+tomcat+mod_jk
- SSH+CKeditor下文件/图片上传配置更改
- eclipse提示class file editor source not found的解决方法
- 极客学院单线程爬虫py3.x版本
- Spark RDD详解
- LoadRunner的安装与卸载须知
- ViewPager 详解(一)---基本入门
- [QT] SQLite操作