DB insert, update가 안되는 증상
- 작성자 :
- 이*경
- 작성일 :
- 2017-03-22 17:34:22
- 조회수 :
- 1,197
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
DB에서 조회는 되는데 insert와 update가 되지 않습니다.
로그상으로는 정상적인 구문이 보여지는데요. DB에서 확인해보면 데이터가 없습니다.
context-datasource.xml 파일에서 defaultAutoCommit 설정을 true 하면 DB에 insert가 되는데요.
그럼 롤백이 되지 않으니 true로 설정할 수 없어 문의드립니다.
----------------------------------------------------------------------------------------------------------------
context-transaction.xml
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="create*" propagation="REQUIRED" rollback-for="Exception"/>
<tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception"/>
<tx:method name="update*" propagation="REQUIRED" rollback-for="Exception"/>
<tx:method name="delete*" propagation="REQUIRED" rollback-for="Exception"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="requiredTx" expression="execution(* nrms.*..impl.*Impl.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="requiredTx" />
</aop:config>
----------------------------------------------------------------------------------------------------------------
context-aspect.xml
<aop:config>
<aop:pointcut id="serviceMethod" expression="execution(* nrms.*..impl.*Impl.*(..))" />
<aop:aspect ref="exceptionTransfer">
<aop:after-throwing throwing="exception" pointcut-ref="serviceMethod" method="transfer" />
</aop:aspect>
</aop:config>
----------------------------------------------------------------------------------------------------------------
context-datasource.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:@#{dbProperties['nrms.db.url']}:#{dbProperties['nrms.db.prot']}:#{dbProperties['nrms.db.name']}" />
<property name="username" value="#{dbProperties['nrms.db.user']}"/>
<property name="password" value="#{dbProperties['nrms.db.pwss']}"/>
<property name="defaultAutoCommit" value="false"/>
</bean>
로그상으로는 정상적인 구문이 보여지는데요. DB에서 확인해보면 데이터가 없습니다.
context-datasource.xml 파일에서 defaultAutoCommit 설정을 true 하면 DB에 insert가 되는데요.
그럼 롤백이 되지 않으니 true로 설정할 수 없어 문의드립니다.
----------------------------------------------------------------------------------------------------------------
context-transaction.xml
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="create*" propagation="REQUIRED" rollback-for="Exception"/>
<tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception"/>
<tx:method name="update*" propagation="REQUIRED" rollback-for="Exception"/>
<tx:method name="delete*" propagation="REQUIRED" rollback-for="Exception"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="requiredTx" expression="execution(* nrms.*..impl.*Impl.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="requiredTx" />
</aop:config>
----------------------------------------------------------------------------------------------------------------
context-aspect.xml
<aop:config>
<aop:pointcut id="serviceMethod" expression="execution(* nrms.*..impl.*Impl.*(..))" />
<aop:aspect ref="exceptionTransfer">
<aop:after-throwing throwing="exception" pointcut-ref="serviceMethod" method="transfer" />
</aop:aspect>
</aop:config>
----------------------------------------------------------------------------------------------------------------
context-datasource.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:@#{dbProperties['nrms.db.url']}:#{dbProperties['nrms.db.prot']}:#{dbProperties['nrms.db.name']}" />
<property name="username" value="#{dbProperties['nrms.db.user']}"/>
<property name="password" value="#{dbProperties['nrms.db.pwss']}"/>
<property name="defaultAutoCommit" value="false"/>
</bean>
A
안녕하세요.
표준프레임워크 센터 입니다.
올려주신 설정에는 별이상이 없어 보입니다.
개발환경 템플릿 및 센터에서 제공하는 교육용교재가 HSQL 데이터베이스를 통한 insert, update예제가 있습니다.
감사합니다.
표준프레임워크 센터 입니다.
올려주신 설정에는 별이상이 없어 보입니다.
개발환경 템플릿 및 센터에서 제공하는 교육용교재가 HSQL 데이터베이스를 통한 insert, update예제가 있습니다.
감사합니다.