解决方案 »

  1.   

    Caused by: java.sql.BatchUpdateException: ORA-00903: 表名无效
    表名有问题~检查一下你hbm文件配置的table~
      

  2.   

    //创建表的用法
    private static void createTable()throws Exception {
    Connection conn = Tools.getConnection();
    String sql = "create table et1402(" +
    "eid number primary key," +
    "ename varchar2(20)," +
    "gender varchar2(2)," +
    "phone varchar2(11)," +
    "QQ varchar2(10)" +
    ")";
    //获得执行对象
    Statement state = conn.createStatement();
    boolean b = state.execute(sql);
    if(!b){
    System.out.println("创建成功!");
    } Tools.close(conn, state, null);
    }
      

  3.   

    这是我的User.hbm.xml的程序:   没问题吧?
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping 
    package="cn.itcast.hibernate.domain"> <class name="User" >
    <id name="id">
    <generator class="native"/>
    </id> <property name="name"/>
    <property name="birthday"/> </class>

    </hibernate-mapping>
      

  4.   

    你的hibernate.cfg.xml里配置这个属性没有?
    <property name="hibernate.hbm2ddl.auto">update</property>
      

  5.   

    我的hibernate.cfg.xml配置改了下:  报错现在没有了,但是数据库中我没有看见创建的表。
    <hibernate-configuration>
    <session-factory >
    <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
    <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
    <property name="connection.username">scott</property>
    <property name="connection.password">tiger</property>

    <property name="dialect">org.hibernate.dialect.OracleDialect</property>
    <property name="hbm2ddl.auto">create</property>
    <property name="show_sql">true</property>
    <property name="format_sql">true</property>
    <property name="connection_pool_size">20</property>
    <mapping resource="cn/itcast/hibernate/domain/User.hbm.xml"></mapping>

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