很初级的问题 数据库创建table :Students  后用hibernate插入一行数据
导入的hibernate包有8个 required文件夹的6个 核心包1个 slf4j包1个hibernate.cfg.xml文件是:[color=#993300]<?xml version="1.0"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="show_sql">true</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property>
<property name="connection.username">scott</property>
<property name="connection.password">1</property>

<property name="connection.isolation">2</property>
<property name="dialect">org.hibernate.dialect.OracleDialect</property>
<mapping resource="com/hibernate/model/hibernate.hbm.xml"/>   </session-factory>
</hibernate-configuration>
hibernate.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="com.hibernate.model">
<class name="Student">
<id name="sid"></id>
<property name="name"></property>
<property name="age"></property>
</class>
</hibernate-mapping>
测试的时候的代码:
public static void main(String[] args) {
Student s  = new Student();
s.setAge(10);
s.setSid(1);
s.setName("老胡");

Configuration cfg = new Configuration();
SessionFactory sf = cfg.configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
session.close();
sf.close();

}运行的时候出现的异常:Hibernate: insert into Student (name, age, sid) values (?, ?, ?)
Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:366)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at com.hibernate.test.HelloWorld.main(HelloWorld.java:25)
Caused by: java.sql.BatchUpdateException: ORA-00942: 表或视图不存在 at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:342)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10656)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 8 more

请大家帮看看这个简单的程序怎么回事啊?????????
[/color]

解决方案 »

  1.   

    <id name="sid"></id>改为
     <id name="sid" type="java.lang.Integer">
                <column name="sid" />
                <generator class="native" />
            </id>  
      

  2.   

    Caused by: java.sql.BatchUpdateException: ORA-00942: 表或视图不存在
    都写出来了
      

  3.   

    我日了
    下面的是 sysdba  表没建到Scott里 fuck