Я использую Spring MVC и Postgres в качестве базы данныхоткатить данные из первой таблицы, если исключение
У меня есть требование, чтобы вставить Diff данных на две таблицу со второй таблицей имеет один столбцы как ForeignKey из первой таблицы
Я использую JDBC шаблон для соединения с базой данных
если некоторые исключения происходит при вставке в таблицу второй я хочу, чтобы откатить данные из первой таблицы также
для этого мне нужно использовать пружинные транзакции конц епть? пожалуйста, предложите
Я пытался осуществить операции таким образом
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<!-- Define all the service beans that will be created in ePramaan -->
<context:annotation-config />
<tx:annotation-driven/>
<!-- END OF DAO beans Definitions -->
<bean class="org.springframework.jdbc.core.JdbcTemplate" p:dataSource-ref="dataSource" />
<!-- Create DataSource Bean -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/ePramaanDB" />
</bean>
<bean id="jdbcSPProfileRepository"
class="in.cdac.epramaan.sp.dao.JdbcSPProfileRepository">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
JdbcSPProfileRepository is a class it contains method to insert data to database I annotated class with @Transactional But when i run the server it is throwing exceptions
14: 44: 01,223 [локальный-стартстопный-1] ERROR osweb.context.ContextLoader - инициализация контекста не удалось орг .springframework.beans.factory.BeanCreationException: Ошибка создания bean-компонента с именем 'jdbcSPProfileRepository': инъекция автоподпрограммного зависимого ncies failed; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Не удалось создать поле autwire: in.cdac.epramaan.common.bd. MasterConfigBD in.cdac.epramaan.sp.dao.JdbcSPProfileRepository.masterConfigBD; Вложенное исключение - org.springframework.beans.factory.NoSuchBeanD efinitionException: не существует определяющего компонента типа [in.cdac.epramaan.common.bd.MasterConfigBD], найденного для зависимости: ожидается как минимум 1 компонент, который квалифицируется как кандидат на автоукрепление для этого зависимость. Зависимость от аннотаций: {@ org.springframework.beans.factory.annotation.Autowired (требуется = т РУЭ)}
@Component
@Transactional
public class JdbcSPProfileRepository implements SPProfileRepository {
private static final Logger logger = LoggerFactory
.getLogger(JdbcSPProfileRepository.class);
@Autowired
private JdbcTemplate jdbcTemplate;
/** The master config bd. */
@Autowired
MasterConfigBD masterConfigBD;
@Autowired
public JdbcSPProfileRepository(DataSource dataSource) {
}
@Override
@Transactional
public SPRegistrationResponse saveSPRegistrationDetails(
final SPRegistration spreg) {
SPRegistrationResponse spRegResponse = new SPRegistrationResponse();
Response response = null;
logger.debug("In saveSPRegistrationDetails : ");
try {/////}catch(){}
}
}
can anybody please suggest the solution
Попробуйте реализовать его с тем, что у вас есть в голове, и если что-то придет, мы будем рады помочь. –
Привет, JavaBond Я пробовал с выше, но получаю исключения на сервере – user3365200