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配置问题的更多相关文章

  1. Person.delete请求----强大的bug---下班之前总结整个过程

    默认访问的是: findAll(query) 还有个findAll(ids,query) 只有findAll才调用了findEntity->findById: 那么我重写了findById,查询 ...

  2. hibernate初次配置问题

    1.自动创建表结构 在hibernate.cfg.xml配置文件中修改 <property name="hibernate.hbm2ddl.auto">update&l ...

  3. hibernate中关系映射的配置问题

    部门和员工属于一对多的关系 员工的账户属于一对一关系 账户和权限属于多对多关系 department.hbm.xml 1 <hibernate-mapping> 2 <class n ...

  4. 最新版ssh hibernate spring struts2环境搭建

    最新版ssh hibernate spring struts2环境搭建 最新版spring Framework下载地址:spring4.0.0RELEASE环境搭建 http://repo.sprin ...

  5. java三大框架之一hibernate使用入门

    综述:Hibernate的作用就是让实体类与数据库映射,使数据持久化,用于替代JDBC,使我们不致于写那么多sql语句代码. 1. 首先在官网www.hibernate.org下载hibernate包 ...

  6. Java问题:Quartz,Hibernate,Spring,Tomcat中定时任务无故停止,没有错误

    最近在做一个java项目的时候遇到一个十分奇怪的问题,想到大家可能也会遇到这样的问题,所以在此发出来,希望大家遇到的时候能够快速解决! 直入主题 问题:使用quartz进行定时任务自动执行的时候,用到 ...

  7. Hibernate常见错误整理

    Hibernate常见错误合集   1.错误:object references an unsaved transient instance - save the transient instance ...

  8. tomcat6.0 数据库连接池配置问题

    tomcat6.0 数据库连接池配置问题: 连接池配好后,启动tomat后,输入项目系统的登录名和密码,报 Cannot create JDBC driver of class '' for conn ...

  9. SpringMVC+Hibernate架构save方法事务未提交

    今天同事遇到一个问题,一起研究,最后解决,让我对spring的事务管理又加深了印象. 先简单说一下项目:项目是Spring和Hibernate集成的JavaEE项目,MVC架构. 外包在service ...

随机推荐

  1. 语义化的html结构的好处

    HTML是提供网页文档内容的上下文结构和含义:html本身是没有表现的,我们看到例如<h1>是粗体,字体大小2em,加粗:<strong>是加粗的,不要认为这是html的表现, ...

  2. 广州传智博客黑马训练营.Net15期

    广州传智博客黑马训练营.Net15期 7 张扬波 MVC大项目 6 张扬波 MVC 3 胡凌浩 HTML&JS 2 基础加强+三层 5 张扬波 企业站点(asp.net)&EF 4 江 ...

  3. [MetaHook] Load large texture from model

    We need hook "GL_LoadTexture" engine function. GL_LOADTEXTURE_SIG from hw.dll(3266) engine ...

  4. SVPullToRefresh​ 下拉刷新,上拉加载

    https://github.com/Sephiroth87/ODRefreshControl 类似刷新控件,类似qq动画的那种刷新. 一.下载第三方库 https://github.com/samv ...

  5. vector 内存释放问题

    关于容器的处理,只是拿来用,理解不深,但是今天跑程序出了问题.释放空间未得到真正的释放.于是网上找了一些文章,解决的问题. 解决方法:使用swap 加上clear,一起释放空间. 原理:即先创建一个临 ...

  6. ASP.NET MVC 5 入门教程 (2) 控制器Controller

    文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get-started-controller.html 上一节:ASP.NET MVC ...

  7. Dandelion - Distributed Computing on GPU Clusters

    linq on GPUs 非常期待中 看起来很cool,期望早点面世

  8. 10、面向对象以及winform的简单运用(isMdicontainer的设置、timer控件进行倒计时的制作)

    IsMdicontainer的设置 这是对于整个窗体的设置,将一个窗体的IsMdicontainer设置为true之后,再打开新窗体便可以让新窗体被父容器包括在内. 操作方法: 1)先建立一个子窗体C ...

  9. WCF入门(11)

    前言 终于出太阳了. 可惜风太大,凉在阳台上的衣服全被吹到了地上,外加几双袜子被吹掉了,gone. 第11集 Difference between DataContract and MessageCo ...

  10. Bootstrap3.0学习第七轮(按钮)

    详情请查看http://aehyok.com/Blog/Detail/13.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...