`
forever1121
  • 浏览: 16671 次
  • 性别: Icon_minigender_2
  • 来自: 齐齐哈尔
社区版块
存档分类
最新评论

Hibernate_2

阅读更多
hbm2ddl工具位于Hibernate核心软件包中,而hbm2java工具位于Hibernate工具包中,因此需要下载Hibernate工具包,文件形式为HibernateTools-X.zip。

Hibernate提供了从映射文件到数据库Schema的转换工具,名为hbm2ddl工具。使hbm2ddl工具时,必须在Hibernate的配置文件中设置hibernate。dialect属性,显式指定底层数据库的SQL方言。
<target name="schema" depends="compile">
  <taskdef name="hbm2ddlTask"
           classname="org.hibernate.tool.ant.HibernateToolTask"
           classpathref="project.class.path" />
  <hbm2ddlTask destdir="${schema.dir}">
       <configuration
            configurationfile="${class.root}/hibernate.cfg.xml"  />
  <hbm2ddl export="true"  console="true"  create="true"
           drop="true"  outputfilename="dbName.sql"  />
  </hbm2ddlTask>
</target>
hbm2ddl任务的属性
export:          若为true,表示在数据库中执行所生产的ddl脚本。默认为false。
drop:            若为true,表示会生成删除数据库中表的ddl脚本。默认为false。
create:          若为true,表示会生成创建数据库中表的ddl脚本。默认为false。
outputfilename: 指定存放ddl脚本的文件。
update:          若为true,表示会对比现有数据库及映射文件,生成用于增量更新数据库的ddl。默认为false。
haltonerror:    若为true,表示遇到错误时会终止运行ant工程。默认为false。
format:          设定ddl脚本中SQL语句的格式。
delimiter:       为ddl脚本设置行结束符。
console:         若为true,表示会在控制台显示生成的ddl脚本。默认为true。

使用xml配置hibernate。通常命名为hibernate.cfg.xml
<hibernate-configuration>
  <session-factory>
     <property name="dialect">
        org.hibernate.dialect.MySQLDialect</property>

     <property name="connection.driver_class">
         com.mysql.jdbc.Driver</property>

     <property name="connection.url">
         jdbc:mysql://localhost:3306/dbName</property>
    
     <property name="connection.username">root</property>
     <property name="connection.password">tiger</property>
     <property name="show_sql">true</property>

     <mapping resource="xxx.hbm.xml"  />

  </session-factory>
</hibernate-configuration>

若Hibernate的配置文件为java属性文件,必须以编程方式声明需要加载的映射文件,xml则不必调用。
    SessionFactory sessionFactory = new Configuration()
          .addClass(xx.class).buildSessionFactory();
默认情况下,Hibernate不会加载hibernate.cfg.xml文件,必须通过Configuration的configure()方法来显式加载hibernate.cfg.xml文件。 
    SessionFactroy sessionFactory = new Configuration()
          .configure().buildSessionFactory();

持久化类使用JavaBean的风格,为需要被访问的属性提供get和set方法,这两个方法也称为持久化类的访问方法。

为什么hibernate中持久化对象要有set和get方法?
java应用程序调用对象的get方法读取外界信息后调用set方法,把信息存到对象中;Hibernate调用对象的get方法读取对象信息后存到数据库调用set方法把数据从数据库中独取出来后存到对象中。Hibernate可以访问任何级别的get、set方法。

基本数据类型的缺点在与无法表达null值;包装类型的默认值是null。
在对象-关系映射文件中,<property>元素的access属性用于指定Hibernate访问持久化类的属性方式。access有一下两个值可选:property:默认值,表明hibernate通过相应的get和set方法来访问类的属性。field属性表明Hibernate运用java反射机制直接访问类的属性,不需get和set方法。


在SQL语法中,标识符是指用于为数据库表、视图、字段或索引等明名的字符串,常规标识符不包含空格,也不包含特殊字符;若数据库表名或字段名中包含空格,或包含特殊字符,则可以使用引用标识符。'xxx xx'

创建数据库的命名策略:实现Hibernate的org.hibernate.cfg.ImprovedNamingStragegy接口。它提供了两个参考实现类:org.hibernate.cfg.DefaultNamingStragegy类(默认实现类);org.hibernate.cfg.ImproveNamingStragegy类(高级实现类)。
分享到:
评论

相关推荐

    hibernate_day02笔记

    【hibernate_day02笔记】的文档主要涵盖了学习Hibernate框架的基础内容,包括ORM思想、Hibernate入门案例、配置文件解析、核心API的使用等。以下是详细的讲解: **ORM思想**: ORM(Object-Relational Mapping)即...

    hibernate_day03笔记

    hibernate_day03笔记

    hibernate_cache_level_1

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者用面向对象的方式处理数据库操作。在大型应用中,为了提高性能,有效地管理数据访问,Hibernate引入了缓存机制。本篇文章将深入探讨...

    Hibernate_Tools_for_Eclipse插件的安装和使用

    2. 单击 Add Sites,分别输入JBoos 的工具和 Hibernate 工具在线安装地址,然后选择安装 HibernateTools 和 Jboos Tools Development Release。 3. 等待安装成功,安装过程中需要下载一些 Jar 包,视网络速度不同,...

    hibernate_second2项目源码

    【hibernate_second2项目源码】是一个基于Hibernate框架的示例项目,它在前一个项目的基础上进行了扩展,特别引入了级联保存的功能。在这个项目中,我们将深入探讨Hibernate的级联操作,以及如何实现数据的级联保存...

    hibernate_day04笔记

    hibernate_day04笔记

    DMS.rar_dms_hibernate_myeclipse hibernate_mysql hibernate_struts

    2. **MyEclipse**:MyEclipse是Eclipse的一个扩展,是一个集成开发环境(IDE),专为Java EE应用程序开发设计。它包含了许多用于Web和企业应用开发的工具,如代码编辑器、调试器、构建工具等。在这个项目中,...

    hibernate_jar_2

    hibernate_jar_2hibernate_jar_2

    Hibernate_QBC和Hibernate_QBE

    标题"Hibernate_QBC和Hibernate_QBE"提及了两个关于Hibernate的查询方式,即Query By Criteria(QBC)和Query By Example(QBE)。Hibernate是Java领域中一个广泛使用的对象关系映射(ORM)框架,它允许开发者以面向...

    java_hibernate_day01.pdf

    java_hibernate_day01.pdf

    java_hibernate_day02.pdf

    java_hibernate_day02.pdf

    Hibernate_3.2.0_Reference_zh_CN.rar hibernate中文api

    2. **配置文件**:`hibernate.cfg.xml`是Hibernate的主要配置文件,包含数据库连接信息、SessionFactory的配置等,它是启动Hibernate的第一步。 3. **实体类(Entity)**:在Hibernate中,Java类对应数据库中的表,...

    struts_hibernate_bbs.rar_bbs_hibernate b_hibernate bbs_struts hi

    在Struts2中,还引入了拦截器(Interceptor)机制,增强了功能扩展性。 Hibernate,另一方面,是一个对象关系映射(ORM)框架,简化了Java应用与数据库之间的交互。它允许开发者使用面向对象的方式来操作数据库,而...

    hibernate_day4_hibernate_sick7s3_

    2. `.project`:这是Eclipse项目配置文件,定义了项目类型、构建路径、nature等信息,有助于恢复项目的开发环境。 3. `src`:源代码目录,通常包含Java源文件和可能的测试代码。 4. `lib`:库文件夹,可能包含...

    Hibernate_3.2.0_Reference_zh_CN

    2. **安装与配置**:介绍了如何在项目中添加Hibernate库,设置配置文件,以及如何进行数据库连接和事务管理的配置。 3. **对象持久化**:详细讲解了实体类的定义,包括注解和XML映射文件的使用,以及实体的生命周期...

    MyEclipse_Hibernate_Quickstart

    2. **添加Hibernate功能**:在项目的属性设置中启用Hibernate支持,这将自动添加所需的依赖项。 3. **定制Hibernate配置文件**:修改`hibernate.cfg.xml`文件,以适应特定的项目需求,如指定数据库连接信息。 4. **...

    test_hibernate_oracle_03.zip_Insert _hibernate_oracle_query_upda

    2. **Hibernate**:是一个流行的开源ORM框架,它提供了一种在Java应用程序和关系数据库之间建立桥梁的方式,使得开发者可以避免处理底层的JDBC和SQL代码。 3. **Oracle**:是一个强大的关系型数据库管理系统,广泛...

    JavaEE源代码 Hibernate_Spring

    JavaEE源代码 Hibernate_SpringJavaEE源代码 Hibernate_SpringJavaEE源代码 Hibernate_SpringJavaEE源代码 Hibernate_SpringJavaEE源代码 Hibernate_SpringJavaEE源代码 Hibernate_SpringJavaEE源代码 Hibernate_...

    JavaEE源代码 Hibernate_mapping

    JavaEE源代码 Hibernate_mappingJavaEE源代码 Hibernate_mappingJavaEE源代码 Hibernate_mappingJavaEE源代码 Hibernate_mappingJavaEE源代码 Hibernate_mappingJavaEE源代码 Hibernate_mappingJavaEE源代码 ...

Global site tag (gtag.js) - Google Analytics