论坛首页 Java版 Spring

Spring中JPA的离奇事件

浏览 273 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (15) :: 隐藏帖 (0)
作者 正文
时间:2008-05-01
开始做一些新的demo于是采用spring2.02+JPA(hibernate)+Oracle11g,但是出现比较奇怪的现象
1.数据库能连接,可以正常执行查询
2.不能执行更新,插入,删除
以下是具体配置文件
applicationContext.xml
<bean id="dataSource"
		class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName"
			value="oracle.jdbc.driver.OracleDriver" />
		<property name="url"
			value="jdbc:oracle:thin:@133.139.143.83:1521:orcl" />
		<property name="username" value="TEST" />
		<property name="password" value="TEST" />
	</bean>

	<bean id="entityManagerFactory"
		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="persistenceUnitName" value="ebnms"/>
		<property name="jpaVendorAdapter">
			<bean
				class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
				<property name="showSql" value="true" />
				<property name="databasePlatform" value="org.hibernate.dialect.Oracle10gDialect" />
				<property name="database" value="ORACLE" />
			</bean>
		</property>
	</bean>
	<bean id="transactionManager"
		class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory"
			ref="entityManagerFactory" />
	</bean>

	<bean
		class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

	<!-- DAO -->
	<bean id="userService" class="service.UserInfoDAO">
		<property name="entityManagerFactory"
			ref="entityManagerFactory" />
	</bean>
   
时间:2008-05-01
persistence.xml
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
	version="1.0">
	<persistence-unit name="ebnms" transaction-type="RESOURCE_LOCAL">
		<class>bean.UserInfo</class>
		<class>NrsGwLog</class>
	</persistence-unit>
</persistence>
   
0 请登录后投票
时间:2008-05-01
DAO都是由模板生成

public class UserInfoDAO extends JpaDaoSupport implements IUserInfoDAO{
public void save(UserInfo entity) {
		logger.info("saving UserInfo instance");
		try {
			getJpaTemplate().persist(entity);
			logger.info("save successful");
		} catch (RuntimeException re) {
			logger.error("save failed", re);
			throw re;
		}
	}
}
   
0 请登录后投票
时间:2008-05-04
我也遇到这个问题,不知道是什么原因,查询没问题,就是不能执行修改等操作,郁闷了好久,后来又换回hibernate了。
   
0 请登录后投票
时间:2008-05-04
我的环境是spring2.5+JPA(hibernate)+sqlserver,我用spring2.0没有问题,换spring2.5就不行。
   
0 请登录后投票
时间:前天
请问 你们提交了事物了吗?

郁闷 。。。。
   
0 请登录后投票
时间:昨天
事务没有提交。
在DAO的save方法上加上@Transactional标注。
   
0 请登录后投票
论坛首页 Java版 Spring

跳转论坛:
JavaEye推荐
    快速回复 引用上一条消息 (Alt+S)