zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    mysql报错排查总结
    java设计模式--外观模式
    java设计模式--策略模式
    java设计模式--策略模式
    java设计模式--简单工厂
    java设计模式--简单工厂
    国外有哪些比较好的IT社区
    使用jmeter进行性能测试-Jmeter教程及技巧汇总 (转)
    Fiddler环境配置教程
    Fiddler+Jmeter+断言详细教程
  • 原文地址:https://www.cnblogs.com/hujiapeng/p/4720720.html
Copyright © 2011-2022 走看看