关闭

由hbm.xml和pojo类生成数据库表失败(求大侠赐招)

1608人阅读 评论(1) 收藏 举报

一下是我写的一个类,该类通过读取configur.xml文件来生成相应的数据表结构,但是在运行的时候一切正常,后台无任何错误,但是Oracle中依旧无法成功的把表创建出来。

package com.shop.dao;

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{
         session.close();
        }
    }

}

程序运行完以后,console台的------

 Creating tables...

drop table shop.dbo.customer cascade constraints

drop table shop.dbo.orderDetail cascade constraints

drop table shop.dbo.orders cascade constraints

drop table shop.dbo.shop cascade constraints

drop sequence hibernate_sequence

create table shop.dbo.customer (customerid number(10,0) not null, customername varchar2(20 char), primary key (customerid))

create table shop.dbo.orderDetail (orderDetailId number(10,0) not null, shopid number(10,0), orderNum number(10,0), primary key (orderDetailId))

create table shop.dbo.orders (orderid number(10,0) not null, customerid number(10,0), orderdate timestamp, ordertotal float, primary key (orderid))

create table shop.dbo.shop (shopid number(10,0) not null, shopname varchar2(20 char), shopprice float, primary key (shopid))

alter table shop.dbo.orderDetail add constraint FK46C5593FE1CF842F foreign key (shopid) references shop.dbo.shop

alter table shop.dbo.orders add constraint FKC3DF62E5A2CD9FFF foreign key (customerid) references shop.dbo.customer

create sequence hibernate_sequence

Table created.

 

我用的数据库是Oracle9i,为什么我的表没有创建成功。。。

 

0
0
查看评论

使用eclipse对数据库表生成pojo和映射

1、建立一个数据源2、在一个项目中点击右键myeclipse->add hibernate capibilities3、在MyEclipse工作区右上角选择进入MyEclipse Database Explorer透视图。在DB Browser视图中,逐次展开节点,右键选中需要映射的表,在弹出...
  • fishyu0817
  • fishyu0817
  • 2009-06-25 11:05
  • 2281

通过Hibernate的hbm.xml文件生成数据库表

首先,在src目录下,有一个文件,hibernate.cfg.xml,该文件的内容如下: ? hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "...
  • Baple
  • Baple
  • 2015-08-18 08:59
  • 2037

使用myeclipse的反向工程生成hibernate映射文件(.hbm.xml)和pojo类

刚开始接触hibernate的时候,pojo类,映射文件,数据库表都是自己手动添加。此种方法仅适用于学习理解,在工作中我们往往有大量的数据库表,且字段繁多,工作量很大。后来在工作中发现有插件的方式直接生成,我所用的主要是下面两种方法: Eclipse 可以通过配置  写pojo类 &#...
  • docuxu
  • docuxu
  • 2017-08-30 10:27
  • 243

根据POJO对象自动生成数据库

使用 SchemaExport 自动建表 之前都是用最蠢的方法:SQL建立数据库相关的表,然后再Java写映射写配置文件..... 实际上使用Hibernate自带的工具hbm2ddl,建立根据你的对象建立数据库是很惬意的一件事;) 首先当然要建好POJO object, XML ...
  • jiangzhengdong
  • jiangzhengdong
  • 2012-10-25 16:11
  • 3528

使用HibernateTools工具通过数据库表逆向生成实体类,hbm.xml文件等

1.下载HibernateTools工具包,解压后如下: HibernateTools文件夹下有以下两个文件夹: 2.打开Eclipse安装目录,打开eclipse文件夹,新建links文件夹(用于存放指明插件位置的link文件)和myplugins文件夹(用于存...
  • HLoach
  • HLoach
  • 2017-03-17 17:46
  • 1771

HibernateTools实现pojo类 数据库schma mapping映射的相互转换

核心 利用HibernateTools,用POJO类,Mapping映射文件,数据库表有其中的一项,就能生成其他两项。 概述     在使用Hibernate开发系统持久层时,按照一般开发流程,首先会从业务分析中获得业务实体,从而获得系统中真正需要的实体类,然后写Hiber...
  • xqf309
  • xqf309
  • 2014-05-31 00:02
  • 6904

自动生成POJO的方法

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import j...
  • angsmarty
  • angsmarty
  • 2008-03-25 21:57
  • 588

Intellij IDEA 根据数据库自动生成pojo和hbm

自从写Java以来,用过不少的IDE,eclipse那个哪个平台看都丑的界面。netbeans网上资料少。用的最顺手的,还是Intellij IDEA。 写java的这段时间,也改变了之前觉得手写才是硬道理的感觉。现在觉得,能自动生成的,就自动生成。 每次写hibernate部分,就觉得pojo...
  • loster_Li
  • loster_Li
  • 2017-08-22 16:33
  • 579

IDEA--生成POJO类及配置文件

1 Hibernate根据表结构生成POJO。 参考博客: http://www.cnblogs.com/yangyquin/p/5438248.html 1.1 生成Hibernate.cfg.xml。 FileProject Structure-》Facets点击加号添加Hibernat...
  • BtWangZhi
  • BtWangZhi
  • 2017-10-14 13:33
  • 389

教你在myeclipse中生成PoJo持久类步骤

在我们平时的开发中我们很多时候都需要用到数据库中某张表生成的实体类,现在我交给大家一个我常用的生成实体类的步骤,希望可以帮助刚入门的新手。 首先需要准备: 1、一个生成pojo实体类的工程:pojoProject (先不用管是什么可以用就可以了) 2、数据库驱动jar包:ojdbc6.jar(...
  • u012027337
  • u012027337
  • 2016-10-26 11:43
  • 603
    个人资料
    • 访问:556770次
    • 积分:5851
    • 等级:
    • 排名:第5220名
    • 原创:116篇
    • 转载:126篇
    • 译文:3篇
    • 评论:36条
    最新评论