Hibernate配置问题
Hibernate是对持久化对象操作,生成SQL语句达到操作数据库目的。
1、Hibernate可以通过两种方式来配置
(1)、hibernate.cfg.xml,在此文件里hibernate-configuration-》session-factory-》property下可配置一些数据库信息,和自己特有的属性
通过配置mapping节点的resource属性,指向类与表的映射配置文件,来实现类与数据库表之间的映射
(2)、hibernate.properties,在此文件里以键值对(name-value)方式配置数据库连接参数,但是无法直接配置数据库表和类的映射文件;可以通过编码方式在代码实现,如映射到文件: Configuration cfg = new Configuration().addResource("Item.hbm.xml").addResource("Bid.hbm.xml");
映射类:Configuration cfg = new Configuration().addClass(org.hibernate.auction.Item.class).addClass(org.hibernate.auction.Bid.class);
第二种配置方式已过时,一般不使用。
2、Hibernate核心配置文件的属性
必选属性:
hibernate.dialect 操作数据库方言,即指定哪种数据库
hibernate.connection.driver.class 连接数据库驱动程序
hibernate.connection.url 连接数据库URL
hibernate.connection.username 数据库用户名
hibernate.connection.password 数据库密码
可选属性:
hibernate.show_sql true 显示SQL
hibernate.format_sql true 格式化SQL
hibernate.hbm2ddl.auto create/create-drop/update/validate DDL策略,在hibernate.cfg.xml文件中配置property,如:
<property name="hibernate.hbm2ddl.auto">create</property>
create:表示启动的时候先drop,再create;(一般用于测试人员准备测试数据)
create-drop:表示先create,在系统关闭前再drop;(一般用于测试人员准备测试数据)
update:这个操作启动的时候会去检查表与类是否一致,如果不一致则更新表,但是只能更新表结构的增加字段操作
validate:启动时验证现有表与配置的Hibernate是否一致,不一致就抛出异常,并不更新表结构
hibernate.connection.autocommit true/false 设置事务是否自动提交,默认false;(一般不配置)
3、Hibernate Configuration对象创建方式有两种:
(1)、Configuration config=new Configuration();
默认是在classpath路径下加载hibernate.properties配置文件;注意:项目src下的文件,默认会被放到classpath路径下
(2)、Configuration config=new Configuration().configure();
默认是在classpath路径下加载hibernate.hbm.xml配置文件

也可以调用含参数的configure方法加载指定的配置文件,假如配置文件更名为a.xml;则

4、手动加载映射配置文件,了解即可,用的已不多
如:
映射文件:Configuration cfg = new Configuration().addResource("Item.hbm.xml").addResource("Bid.hbm.xml");
映射类:Configuration cfg = new Configuration().addClass(org.hibernate.auction.Item.class).addClass(org.hibernate.auction.Bid.class);
Hibernate配置问题的更多相关文章
- Person.delete请求----强大的bug---下班之前总结整个过程
默认访问的是: findAll(query) 还有个findAll(ids,query) 只有findAll才调用了findEntity->findById: 那么我重写了findById,查询 ...
- hibernate初次配置问题
1.自动创建表结构 在hibernate.cfg.xml配置文件中修改 <property name="hibernate.hbm2ddl.auto">update&l ...
- hibernate中关系映射的配置问题
部门和员工属于一对多的关系 员工的账户属于一对一关系 账户和权限属于多对多关系 department.hbm.xml 1 <hibernate-mapping> 2 <class n ...
- 最新版ssh hibernate spring struts2环境搭建
最新版ssh hibernate spring struts2环境搭建 最新版spring Framework下载地址:spring4.0.0RELEASE环境搭建 http://repo.sprin ...
- java三大框架之一hibernate使用入门
综述:Hibernate的作用就是让实体类与数据库映射,使数据持久化,用于替代JDBC,使我们不致于写那么多sql语句代码. 1. 首先在官网www.hibernate.org下载hibernate包 ...
- Java问题:Quartz,Hibernate,Spring,Tomcat中定时任务无故停止,没有错误
最近在做一个java项目的时候遇到一个十分奇怪的问题,想到大家可能也会遇到这样的问题,所以在此发出来,希望大家遇到的时候能够快速解决! 直入主题 问题:使用quartz进行定时任务自动执行的时候,用到 ...
- Hibernate常见错误整理
Hibernate常见错误合集 1.错误:object references an unsaved transient instance - save the transient instance ...
- tomcat6.0 数据库连接池配置问题
tomcat6.0 数据库连接池配置问题: 连接池配好后,启动tomat后,输入项目系统的登录名和密码,报 Cannot create JDBC driver of class '' for conn ...
- SpringMVC+Hibernate架构save方法事务未提交
今天同事遇到一个问题,一起研究,最后解决,让我对spring的事务管理又加深了印象. 先简单说一下项目:项目是Spring和Hibernate集成的JavaEE项目,MVC架构. 外包在service ...
随机推荐
- 解析 HTTP(HttpURLConnection getResponseCode)
HTTP 请求 客户端通过发送 HTTP 请求向服务器请求对资源的访问.HTTP 请求由三部分组成,分别是:请求行.消息报头和请求征文. 3.1.请求行 请求行以一个方法符号开头,后面跟着请求 URI ...
- 【转】MySQL 性能优化的最佳20多条经验分享
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情. 当我们去设计数据库表结构,对操 ...
- 我的WCF摸爬滚打之路(1)
等了好久终于等到今天!盼了好久终于把梦实现……哈哈,仅以此歌词来庆祝我为期3天的wcf学习之路圆满结束. 今天写这个文章的目的在于记录一下我自己在学习WCF的时候碰到的一些问题,俗话说,好记心不如烂笔 ...
- [DE2i-150] 重建PCIe_Fundmental範例說明
以下資料的整理主要是做備忘錄,避免以後忘了,順便留給需要的人. ========================================== 本文主要是參考友晶科技的DE2i-150光碟裡面的 ...
- c语言 动态数组
C语言中,在声明数组时,必须明确告诉编译器数组的大小,之后编译器就会在内存中为该数组开辟固定大小的内存.有些时候,用户并不确定需要多大的内存,使用多大的数组,为了保险起见,有的用户采用定义一个大数组的 ...
- C#事件与接口
using System; namespace ConsoleApplication1d { delegate void MsgDel(string s); interface IMsg { even ...
- 从0开始学java——JSP&Servlet——web容器搜索class的路径顺序
在web应用程序如果要用到某个类,会按照如下的顺序来搜索: 1)在WEB-INF/classes目录下搜索: 2)如果该目录下没有,则会到WEB-INF/lib目录下的jar文件中搜索: 3)如果还没 ...
- [CareerCup] 3.7 Adopt Animal 领养动物
3.7 An animal shelter holds only dogs and cats, and operates on a strictly "first in, first out ...
- C#中 += (s, e) => 这些字符什么意思
public MainWindow(){InitializeComponent();this.Loaded += (s, e) => DiscoverKinectSensor();this.Un ...
- Android Studio之gradle的配置与介绍
1.gradle的简单介绍 Gradle是可以用于Android开发的新一代的Build System,也是Android Studio默认的build工具.其实Gradle脚本是基于一种JVM语言- ...