草庐IT

nested-transactions

全部标签

java - 组织.hibernate.HibernateException : save is not valid without active transaction in my case

我有GenericService类,它封装了子类的crud方法:publicabstractclassGenericService,TextendsDomainObject,I>{publicIsave(Tt){returngetDao().save(t);}...........................}类AnswerService扩展GenericService。它AutowiringAnswerDao并将自己声明为@Service和@Transactionalspring组件。@Service@Transactional(propagation=Propagation.R

java - 没有定义 [org.springframework.transaction.PlatformTransactionManager] 类型的合格 bean

我正在使用2个Weblogic数据源;在我的XML配置中,我有2个持久性单元、2个entityManagerFactories和2个transactionManagers。文件如下:persistence.xml:org.eclipse.persistence.jpa.PersistenceProviderorg.eclipse.persistence.jpa.PersistenceProviderconfig.xml:FINEFINE模型库:@Repository("ModelRepo")@PersistenceContext(unitName="modelPersistence")

java - Spring 事务中 REQUIRES_NEW 和 NESTED 传播行为的差异

前言首先:它不是Differencesbetweenrequires_newandnestedpropagationinSpringtransactions的副本-我读了它,但没有找到我的问题的答案问题:阅读我提到的主题后,我明白了物理交易计数中传播级别的主要区别:2dbtransactions-forREQUIRES_NEWforouterandforinnermethod1db事务-用于外部和内部方法的NESTED。如果底层数据库不支持保存点,它将无法工作但从我的观点来看,逻辑似乎是相同的。如何理解在实践中使用哪个级别?有什么用例可以理解吗?行为差异的方便示例?附言我想对于其他交易

java - Hibernate 的 Transaction.wasCommitted 方法的替代品是什么?

我正在尝试从旧版本的Hibernate(第3版)更新一些代码。它使用Hibernate5中不再存在的Transaction接口(interface)的两个方法。session.getTransaction().wasCommitted()session.getTransaction().wasRolledBack()Hibernate5中的等价物是什么? 最佳答案 您似乎在寻找session.getTransaction().getStatus()。例如,session.getTransaction().getStatus()==T

java - 如何使用 AspectJ 设置 springframework @Transactional

我想使用spring-aspects使我的方法具有事务性,但不使用SpringAOP(SpringAOP可以正常工作:)。我正在使用Maven来管理我的项目。有没有办法对我的项目类进行编译时编织,这样“它们是Transactional”。我正在尝试使用Mojo'sAspectJMavenPlugin,但没有任何好的结果。请帮忙。 最佳答案 我想通了。Maven插件工作正常,但问题出在我的spring配置上:我有:我需要的是:现在一切正常。我的@Transactional方法的性能得到改善,这也是我的目标。这是我的mavenaspec

java - Elasticsearch : Sorting by nested documents' values

我在为我的Java应用程序使用ElasticSearch时遇到了问题。我自己解释一下,我有一个映射,类似于:{"products":{"properties":{"id":{"type":"long","ignore_malformed":false},"locations":{"properties":{"category":{"type":"long","ignore_malformed":false},"subCategory":{"type":"long","ignore_malformed":false},"order":{"type":"long","ignore_malf

java - @Transactional 注释与 saveAndFlush 一起使用?

我有以下实现。@TransactionalpublicvoidsaveAndGenerateResult(Datadata){saveDataInTableA(data.someAmountForA);saveDataInTableB(data.someAmountForB);callAnAggregatedFunction(data);}publicvoidsaveDataInTableA(DataAa){tableARepository.saveAndFlush(a);}publicvoidsaveDataInTableA(DataBb){tableBRepository.save

java - 为@Transactional 方法禁用警告 "Access can be package-private"

我有几个用@Transactional注释的公共(public)方法,IntelliJ显示了它们可以是包私有(private)或私有(private)的警告。@TransactionalpublicvoiddoSomething(){///body}由于用@Transactional注释的方法应该是公开的,我如何在IntelliJ中禁用此检查/警告仅针对那些方法? 最佳答案 遗憾的是,不可能让所有用@Transactional注释的方法清除警告,尽管可以将@SuppressWarnings("WeakerAccess")添加到使警告

java - 调用 createEntityManagerFactory 时为 "You cannot set autocommit during a managed transaction"

我正在尝试通过在我的应用程序中分离模式来实现Multi-Tenancy。为此,我有一个Tenant实体,其中包含一个StringschemaName,并且我有一个SingletonStartupEJB在启动时创建EntityManagerFactory的映射;一个工厂分配给每个Tenant。这是我的EJB:@Startup@SingletonpublicclassTenantManagementServiceImplimplementsTenantManagementService{privateMapentityManagerFactoryMap;@PersistenceContex

java - Spring @Transactional 注释不适用于 Autowiring ?

我的应用程序使用SpringAutowiring来配置bean。我刚刚尝试添加@Transactional并且似乎没有调用预期的代理。我希望PersonalController使用事务代理包装的UpdatePublicMapService调用UpdatePublicMapService。我看到的是PersonalController被实例化了两次。第一次它获得代理,但第二次它获得未代理的目标。我做错了什么?非常感谢您的帮助。网络.xml...contextConfigLocation/WEB-INF/applicationContext.xml,/WEB-INF/application