`

Hibernate中利用配置文件(hbm)自动生成数据库表

 
阅读更多
package test;

import java.io.File;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class HibernateSchemaExport{

    static Session session;

    static Configuration config = null;
    static Transaction tx = null;

    public static void main(String[] args){
        /** *//**
         * 根据映射文件创建数据库结构
         */
        try{
            config = new Configuration().configure(new File(
                    "src/hibernate.cfg.xml"));

            System.out.println("Creating tables...");

            SessionFactory sessionFactory = config.buildSessionFactory();
            session = sessionFactory.openSession();
            tx = session.beginTransaction();

            SchemaExport schemaExport = new SchemaExport(config);
            schemaExport.create(true, true);

            System.out.println("Table created.");

            tx.commit();

        } catch (HibernateException e){
            e.printStackTrace();
            try{
                tx.rollback();
            } catch (HibernateException e1){
                e1.printStackTrace();
            }
        } finally{

        }}

}



hibernate 配置文件:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

	<session-factory>
	<property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
 <property name="hibernate.cache.use_second_level_cache">true</property> 
<property name="hibernate.cache.use_query_cache">true</property> 
		<property name="connection.username">root</property>
		<property name="connection.url">
			jdbc:mysql://localhot:3306/test?useUnicode=true&amp;characterEncoding=utf8
</property>
		<property name="dialect">
			org.hibernate.dialect.MySQLDialect
</property>
		<property name="myeclipse.connection.profile">mysql</property>
		<property name="connection.password">root</property>
		<property name="connection.driver_class">
			org.gjt.mm.mysql.Driver
</property>
		<property name="show_sql">true</property>
		<mapping resource="com/main/hbm/sSite.hbm.xml" />
		<mapping resource="com/entity/hbm/disk.hbm.xml" />
		<mapping resource="com/entity/hbm/resource.hbm.xml" />
	</session-factory>
</hibernate-configuration>



如果出现异常:异常An association from the table refers to an unmapped class 参考:

http://topic.csdn.net/t/20041125/09/3586154.html
分享到:
评论

相关推荐

    从hbm的xml文件 自动生成数据库表

    标题中的“从hbm的xml文件自动生成数据库表”指的是在Java编程中,使用Hibernate框架的一个功能,通过Hibernate Mapping(hbm.xml)文件来自动创建对应的数据库表结构。Hibernate是流行的Java ORM(对象关系映射)...

    hibernate自动生成数据库文件

    综上所述,Hibernate自动生成数据库文件涉及到ORM设计、Hibernate Tools的使用、配置文件的编写、Java注解的理解以及数据库操作的最佳实践等多个方面。掌握这些知识点有助于高效地利用Hibernate进行数据库开发。

    根据hibernate配置文件生成数据库.zip

    本压缩包“根据hibernate配置文件生成数据库.zip”包含了一些关键资源,帮助开发者理解如何使用Hibernate工具hbm2ddl自动生成数据库结构。以下是对这些资源的详细解释: 1. **使用Hibernate的工具hbm2ddl根据你的...

    hibernate利用配置文件反向生成数据库所有配置文件及方法

    以题目中提到的`CampusPO.hbm.xml`为例,我们可以看到其中定义了一个名为`CampusPO`的实体类,它映射到数据库中的`T_XQ`表。XML映射文件中,`&lt;id&gt;`标签定义了主键,`&lt;property&gt;`标签用于映射普通字段,而`&lt;bag&gt;`标签...

    hibernate映射文件生成数据库

    本文将深入探讨如何利用Hibernate的映射文件来生成数据库,以此提高开发效率并减少手动创建数据库表的工作量。 一、Hibernate映射文件概述 Hibernate映射文件,通常以`.hbm.xml`为扩展名,是Hibernate用来定义Java...

    Hibernate自动生成配置文件

    此时,MyEclipse将自动为所选表生成对应的Hibernate配置文件,包括实体类映射文件(`.hbm.xml`)以及核心的`hibernate.cfg.xml`文件。 #### 三、自动生成配置文件的优势 1. **节省时间**:自动化的配置生成大大...

    Hibernate通过配置文件自动生成表

    本篇将详细讲解如何通过Hibernate配置文件自动生成数据库表,以及相关的知识点。 **一、Hibernate概述** Hibernate是Java平台上的一个开源框架,它的主要功能是提供一种映射机制,将Java类与数据库表进行对应,...

    根据数据库表生成实体、hibernate配置文件和实体映射文件

    本教程将深入讲解如何根据数据库表自动生成实体类、Hibernate配置文件以及实体映射文件。 首先,我们需要了解Hibernate的基本概念。Hibernate提供了一个在Java应用中使用的持久化模型,它允许开发者用面向对象的...

    利用Middlegen Hibernate3生成hbm.xml配置和java类

    标题中的“利用Middlegen Hibernate3生成hbm.xml配置和java类”指的是使用Middlegen工具来自动化创建Hibernate3框架所需的映射文件(hbm.xml)和对应的Java实体类。这个过程是数据库对象到Java对象(O/R Mapping)的...

    利用hibernate自动生成hbm.xml文件和entity类.doc

    Hibernate 反向工程是指使用 Hibernate 工具将数据库表结构反向生成对应的 Entity 类和 hbm.xml 文件的过程。这种方法可以大大简化开发过程,提高开发效率。 二、 Hibernate 反向工程的步骤 1. 切换到 MyEclipse ...

    Middlegen插件利用数据库表自动生成Hbm文件

    Middlegen是一款强大的Java持久层开发工具,它主要用于将数据库中的表结构自动转换为Hibernate的映射文件(Hbm文件)。这款插件极大地简化了Java开发者在处理数据持久化时的工作,通过自动化的方式生成必要的代码,...

    利用hibernate中的SchemaExport生成数据表

    本篇文章将详细介绍如何利用Hibernate中的`SchemaExport`工具来自动生成数据库表,以此来简化数据库设计过程,提高开发效率。 首先,我们需要了解Hibernate的逆向工程(Reverse Engineering)。在传统的开发流程中...

    Hibernate 映射文件自动生成

    【描述】虽然描述为空,但我们可以推测,这篇博文可能讲述了如何利用某些工具或方法自动化生成Hibernate的映射文件,从而提高开发效率并减少错误。 【标签】:“源码”和“工具”表明这篇内容可能涉及到具体的代码...

    根据hibernate反向生成数据库的java代码

    Hibernate的逆向工程工具,也被称为Hibernate Tools,能够从现有的数据库结构自动生成对应的Java持久化类(Entity)、Hibernate配置文件(hibernate.cfg.xml)以及映射文件(.hbm.xml)。这样,开发者可以快速地...

    myeclipse中自动生成hibernate的POJO、DAO和hbm.xml文件

    MyEclipse中自动生成Hibernate的POJO、DAO和hbm.xml文件 MyEclipse是一款功能强大且流行的集成开发环境(IDE),它提供了许多实用的功能来帮助开发者快速构建和维护项目。其中,MyEclipse提供了对Hibernate的支持,...

    Hibernate-tools解决hbm.xml中文注释乱码和生成实体类注释

    `Hibernate-tools`提供了一种方式来自动生成与数据库表对应的实体类,这大大减少了手动编写代码的工作量。在5.2.1版本中,我们可以在配置文件中指定注释模板,使得生成的实体类带有详细的注释。例如,你可以定义一...

    通过Hibernate Tool 来生成Java类和HBM文件

    除了`hibernate.cfg.xml`,还需要创建一个名为`hibernate.reveng.xml`的文件,这是Hibernate反向工程配置文件。在这个文件中,你可以指定哪些数据库表需要被映射为Java类,以及这些类的命名规则。例如,你可以设置...

    Hibernate 3.2反向生成数据库文件

    在提供的"WebRoot/info"文件夹中的"Hibernate反向生成数据库表.doc"文档,应该详细介绍了以上操作流程,建议仔细阅读以掌握具体步骤。如果你在使用过程中遇到任何问题,可以参考Hibernate的官方文档或在线社区寻求...

    Hibernate自动生成表demo

    在本教程中,我们将探讨如何利用Hibernate的注解功能,通过实体类自动生成数据库中的表。这极大地简化了数据库建模过程,同时也减少了手动编写SQL语句的工作量。 首先,我们需要理解Hibernate的核心概念。ORM框架如...

Global site tag (gtag.js) - Google Analytics