java代码
ApplicationContext aContext=new ClassPathXmlApplicationContext("applicationContext.xml");
SessionFactory sf=(SessionFactory) aContext.getBean("sessionFactory");
Session s=sf.openSession();
Employee em=new Employee("hha","fekaol",new java.util.Date(),23f);
Transaction tx=s.beginTransaction();
s.save(em);
tx.commit();xml:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > <hibernate-mapping package="com.ypp.domain">
<class table="Employee" name="Employee" >
<id name="id" type="java.lang.Integer">
<generator class="native">
</generator>
</id>
<property name="email">
<column name="email" length="64"/>
</property>
<property name="hireDate" type="java.util.Date">
<column name="hireDate"></column>
</property>
<property name="name" type="java.lang.String">
<column name="name" ></column>
</property>
<property name="salary" type="java.lang.Float"></property>
</class>
</hibernate-mapping>applicationContext.xml:
<beans xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans">
<bean id="SserviceTest" class="com.ypp.test.SS">
<property name="name" value="ypp"></property>
</bean>
<!-- 配置数据源 -->
<bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource" destroy-method="close"> <property value="oracle.jdbc.driver.OracleDriver" name="driverClassName"/> <property value="jdbc:oracle:thin:@127.0.0.1:1521:ORCL" name="url"/> <property value="scott" name="username"/> <property value="tiger" name="password"/>
<!-- 连接池启动时的初始值 -->
<property value="30" name="initialSize"/>
<!-- 连接池的最大值 -->
<property value="500" name="maxActive"/>
<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
<property value="2" name="maxIdle"/>
<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property value="1" name="minIdle"/> </bean>
<!-- 配置会话工厂() -->
<bean class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" id="sessionFactory">
<!-- 设置数据源 -->
<property name="dataSource" ref="dataSource"/>
<!-- 接管了hibernate对象映射文件 -->
<property name="mappingResources">
<list>
<value>com/ypp/domain/Employee.hbm.xml</value> </list>
</property>
<property name="hibernateProperties">
<value> hibernate.dialect=org.hibernate.dialect.OracleDialect
hibernate.hbm2ddl.auto=create hibernate.show_sql=true
hibernate.cache.use_second_level_cache=true
hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
hibernate.generate_statistics=true </value>
</property>
</bean>
</beans>错误提示:
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
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:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at com.ypp.test.test.main(test.java:25)
Caused by: java.sql.BatchUpdateException: ORA-00942: 表或视图不存在 at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10656)
at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 8 more
ApplicationContext aContext=new ClassPathXmlApplicationContext("applicationContext.xml");
SessionFactory sf=(SessionFactory) aContext.getBean("sessionFactory");
Session s=sf.openSession();
Employee em=new Employee("hha","fekaol",new java.util.Date(),23f);
Transaction tx=s.beginTransaction();
s.save(em);
tx.commit();xml:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > <hibernate-mapping package="com.ypp.domain">
<class table="Employee" name="Employee" >
<id name="id" type="java.lang.Integer">
<generator class="native">
</generator>
</id>
<property name="email">
<column name="email" length="64"/>
</property>
<property name="hireDate" type="java.util.Date">
<column name="hireDate"></column>
</property>
<property name="name" type="java.lang.String">
<column name="name" ></column>
</property>
<property name="salary" type="java.lang.Float"></property>
</class>
</hibernate-mapping>applicationContext.xml:
<beans xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans">
<bean id="SserviceTest" class="com.ypp.test.SS">
<property name="name" value="ypp"></property>
</bean>
<!-- 配置数据源 -->
<bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource" destroy-method="close"> <property value="oracle.jdbc.driver.OracleDriver" name="driverClassName"/> <property value="jdbc:oracle:thin:@127.0.0.1:1521:ORCL" name="url"/> <property value="scott" name="username"/> <property value="tiger" name="password"/>
<!-- 连接池启动时的初始值 -->
<property value="30" name="initialSize"/>
<!-- 连接池的最大值 -->
<property value="500" name="maxActive"/>
<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
<property value="2" name="maxIdle"/>
<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property value="1" name="minIdle"/> </bean>
<!-- 配置会话工厂() -->
<bean class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" id="sessionFactory">
<!-- 设置数据源 -->
<property name="dataSource" ref="dataSource"/>
<!-- 接管了hibernate对象映射文件 -->
<property name="mappingResources">
<list>
<value>com/ypp/domain/Employee.hbm.xml</value> </list>
</property>
<property name="hibernateProperties">
<value> hibernate.dialect=org.hibernate.dialect.OracleDialect
hibernate.hbm2ddl.auto=create hibernate.show_sql=true
hibernate.cache.use_second_level_cache=true
hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
hibernate.generate_statistics=true </value>
</property>
</bean>
</beans>错误提示:
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
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:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at com.ypp.test.test.main(test.java:25)
Caused by: java.sql.BatchUpdateException: ORA-00942: 表或视图不存在 at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10656)
at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 8 more
解决方案 »
- html中设置个按钮如何让他启动QQ程序呢?可以吗
- java
- 关于Struts2+Spring2.5整合问题讨论
- 用axis 2 code generator 生成服务端代码的问题
- 这个程序什么地方错了
- html表单提交后 不用重新输入的方法
- struts业务逻辑验证错误返回后,验证码显示不出来,不知道是怎么回事??
- 利用weblogic workshop构建的webservice生成的*.jws文件跟一般的*.java webservice有什么异同?
- 什么是物理模型,什么是数据模型,什么是逻辑模型?
- struts2 <s:hidden>向action传值问题,想把#request的值通过s:hidden传到action
- SSH整合时,DAO为空,.. 求指导.
- JVM YGC 系统耗时很长
错误说的很清楚呀,包是否存在,或者说你配置的table的name是否正确。
validate | update | create | create-drop
如楼上所说,还有最好把schema或者catalog加上。
表不存的问题吧。
hibernate.hbm2ddl.auto=create
这个是第一次使用时候用create,在以后时候都要使用update,不然会有问题!