안녕하세요, @Transactional 인 CDI Named Bean에 문제가 있습니다.트랜잭션 래핑 된 메서드가 지속되지 않거나 제거되지 않는다
나는 WildFly 11.1.0. 최종을 사용합니다. 여기
코드 : 나는 방법 "doChange"만 편집 Empfangseinheittypenparameter를 호출 할 때 https://gist.github.com/stefanwendelmann/7a1f8352900067d5a59826d6ee205044
이것은 persistence.xml을
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="QuoLoco" transaction-type="JTA">
<description>Verbindung zur QuoLoco Datenbank</description>
<jta-data-source>java:/QUOLOCO_NORM</jta-data-source>
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<properties>
<property name="hibernate.format_sql" value="false"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>
<property name="hibernate.id.new_generator_mappings" value="false"/>
</properties>
</persistence-unit>
</persistence>
되면, em.remove 및 em.persist는 트리거 해달라고 플러시.
내가 방법 "doChange"메인 Empfangseinheittypen의 empfangseinheittyp의 일부를 편집 전화
, 나는 Empfangseinheittypenparameter에 발견 플러쉬를하고있는 중이 야 무슨 잘못을 필요로 해달라고 할?
두 가지 방법 모두 공개입니다.
하는 응용 프로그램의 사진이 의견에 따르면 당신의 도움이
아직 관련이 있다면. CDI-Transactional로 몇 가지 테스트를 수행했습니다. EJB에는 큰 차이점이 없습니다. 그러므로 몇 가지 질문 : 변경 사항이 플러시되지 않았 음을 어떻게 알았습니까? 어떤 DBMS를 사용하고 있습니까? 하위 클래스 또는 다른 bean에서 doChange를 호출 했습니까? – aschoerk
안녕하세요 @aschoerk 우리는 SQL Server 2008 R2를 사용합니다. 이 호출은 xhtml JSF 프론트 엔드에서 제공됩니다. 이제 BMT로 변경하여 신청서와 함께 진행했습니다. –
Ahh SqlServer 2008, MVCC 없음. 그러나 : 변화가 씻겨 나가지 않았다는 것을 어떻게 알았습니까? 하위 클래스 또는 다른 bean에서 doChange를 호출 했습니까? – aschoerk