Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Testing Eclipslink JPA using Spring-managed transaction and Junit4

Try the following

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(your spring config location)
@TransactionConfiguration(transactionManager="yourTransactionManager",
defaultRollback=false)
@Transactional

You cal also set the Transaction attribute at the method level using
@Transaction with attributes based in your requirement.


gsilverman wrote:
> 
> Testing EclipseLink JPA CRUD methods in JUnit3.8, using the Spring Test
> Framework and AbstractJpaTests, writes changes to the database when I use
> AbstractJpaTests.setComplete() and  AbstractJpaTests.endTransaction().
> 
> However, when I switch to Junit4, and use
> @RunWith(SpringJUnit4ClassRunner.class) annotation instead of extending
> AbstractJpaTests, there are no setComplete() or endTransaction() methods
> available to commit the transaction.
> 
> In fact, the Spring documentation indicates that transaction management is
> completely managed by the Spring IoC container. But it just doesn't
> commit, even when configured correctly. In my setup, non-CRUD methods,
> such as findById and executeQuery all work fine, and the CRUD methods do
> update the EntityManager cache, but there just doesn't appear to be any
> flushing to commit the changes to the database.
> 
> Could this be a problem because I'm using EclipseLinkJpaVendorAdapter to
> configure my EntityManagerFactory bean?
> 
> I'm running my tests with the Spring Transactional annotation with no
> special settings.
> 
> Anyone have experience testing EclipseLink JPA using
> SpringJunit4ClassRunner? 
> 

-- 
View this message in context: http://www.nabble.com/Testing-Eclipslink-JPA-using-Spring-managed-transaction-and-Junit4-tp20080899p20085301.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.



Back to the top