Updated for Spring 5 baseline

The new Spring 5 baseline consists of Spring 5, Hibernate 5, and Java 8.
This commit addresses any changes to create a successful build of Spring
Batch under those guidances.  Further commits will be coming to address
Java 8 specifics as areas of the project are touched.

Resolves BATCH-2536
This commit is contained in:
Michael Minella
2016-09-30 12:34:28 -05:00
parent f4c0530730
commit b2e6b431dc
16 changed files with 131 additions and 95 deletions

View File

@@ -22,9 +22,10 @@ import org.apache.commons.logging.LogFactory;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.context.spi.CurrentSessionContext;
import org.springframework.batch.item.ItemWriter;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.orm.hibernate3.HibernateOperations;
import org.springframework.orm.hibernate5.HibernateOperations;
import org.springframework.util.Assert;
/**

View File

@@ -48,10 +48,10 @@ public class HibernateNativeQueryProvider<E> extends AbstractHibernateQueryProvi
public SQLQuery createQuery() {
if (isStatelessSession()) {
return getStatelessSession().createSQLQuery(sqlQuery).addEntity(entityClass);
return getStatelessSession().createNativeQuery(sqlQuery).addEntity(entityClass);
}
else {
return getStatefulSession().createSQLQuery(sqlQuery).addEntity(entityClass);
return getStatefulSession().createNativeQuery(sqlQuery).addEntity(entityClass);
}
}

View File

@@ -21,7 +21,7 @@ import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.sample.Foo;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
/**
* Tests for {@link HibernateCursorItemReader} using {@link StatelessSession}.

View File

@@ -21,7 +21,7 @@ import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.sample.Foo;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
public class HibernateCursorItemReaderCommonTests extends AbstractDatabaseItemStreamItemReaderTests {

View File

@@ -15,9 +15,9 @@
*/
package org.springframework.batch.item.database;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.query.Query;
import org.junit.Test;
import org.springframework.batch.item.ExecutionContext;
@@ -46,7 +46,7 @@ public class HibernateCursorItemReaderStatefulIntegrationTests extends AbstractH
SessionFactory sessionFactory = mock(SessionFactory.class);
Session session = mock(Session.class);
Query scrollableResults = mock(Query.class);
HibernateCursorItemReader<Foo> itemReader = new HibernateCursorItemReader<Foo>();
HibernateCursorItemReader<Foo> itemReader = new HibernateCursorItemReader<>();
itemReader.setSessionFactory(sessionFactory);
itemReader.setQueryString("testQuery");
itemReader.setUseStatelessSession(false);

View File

@@ -15,24 +15,25 @@
*/
package org.springframework.batch.item.database;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
import javax.sql.DataSource;
import org.hibernate.SessionFactory;
import org.hibernate.StatelessSession;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.batch.item.ExecutionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
/**
* Tests for {@link HibernateCursorItemReader} using {@link StatelessSession}.
*

View File

@@ -15,12 +15,6 @@
*/
package org.springframework.batch.item.database;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -29,7 +23,14 @@ import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.junit.Before;
import org.junit.Test;
import org.springframework.orm.hibernate3.HibernateOperations;
import org.springframework.orm.hibernate5.HibernateOperations;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
/**
* @author Dave Syer

View File

@@ -21,7 +21,7 @@ import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.sample.Foo;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
/**
* Tests for {@link HibernateCursorItemReader} using {@link StatelessSession}.

View File

@@ -33,7 +33,7 @@ import org.springframework.batch.item.sample.Foo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;

View File

@@ -16,16 +16,17 @@
package org.springframework.batch.item.database.support;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.StatelessSession;
import org.hibernate.query.NativeQuery;
import org.junit.Test;
import org.springframework.batch.item.database.orm.HibernateNativeQueryProvider;
import org.springframework.util.Assert;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
/**
* @author Anatoly Polinsky
* @author Dave Syer
@@ -46,9 +47,9 @@ public class HibernateNativeQueryProviderTests {
hibernateQueryProvider.setSqlQuery(sqlQuery);
StatelessSession session = mock(StatelessSession.class);
SQLQuery query = mock(SQLQuery.class);
NativeQuery query = mock(NativeQuery.class);
when(session.createSQLQuery(sqlQuery)).thenReturn(query);
when(session.createNativeQuery(sqlQuery)).thenReturn(query);
when(query.addEntity(Foo.class)).thenReturn(query);
hibernateQueryProvider.setStatelessSession(session);
@@ -62,9 +63,9 @@ public class HibernateNativeQueryProviderTests {
hibernateQueryProvider.setSqlQuery(sqlQuery);
Session session = mock(Session.class);
SQLQuery query = mock(SQLQuery.class);
NativeQuery query = mock(NativeQuery.class);
when(session.createSQLQuery(sqlQuery)).thenReturn(query);
when(session.createNativeQuery(sqlQuery)).thenReturn(query);
when(query.addEntity(Foo.class)).thenReturn(query);
hibernateQueryProvider.setSession(session);