RESOLVED - BATCH-989: Add support for named queries on HibernateCursorItemReader
added setQueryName(..) as alternative to setQueryString(..)
This commit is contained in:
@@ -32,16 +32,19 @@ public class HibernateCursorItemReaderIntegrationTests extends AbstractDataSourc
|
||||
|
||||
SessionFactory sessionFactory = (SessionFactory) factoryBean.getObject();
|
||||
|
||||
String hsqlQuery = "from Foo";
|
||||
|
||||
HibernateCursorItemReader<Foo> inputSource = new HibernateCursorItemReader<Foo>();
|
||||
inputSource.setQueryString(hsqlQuery);
|
||||
inputSource.setSessionFactory(sessionFactory);
|
||||
inputSource.setUseStatelessSession(isUseStatelessSession());
|
||||
inputSource.afterPropertiesSet();
|
||||
inputSource.setSaveState(true);
|
||||
HibernateCursorItemReader<Foo> hibernateReader = new HibernateCursorItemReader<Foo>();
|
||||
setQuery(hibernateReader);
|
||||
hibernateReader.setSessionFactory(sessionFactory);
|
||||
hibernateReader.setUseStatelessSession(isUseStatelessSession());
|
||||
hibernateReader.afterPropertiesSet();
|
||||
hibernateReader.setSaveState(true);
|
||||
|
||||
return inputSource;
|
||||
return hibernateReader;
|
||||
}
|
||||
|
||||
protected void setQuery(HibernateCursorItemReader<?> reader) {
|
||||
reader.setQueryString("from Foo");
|
||||
}
|
||||
|
||||
protected boolean isUseStatelessSession() {
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.springframework.batch.item.database;
|
||||
|
||||
/**
|
||||
* Tests {@link HibernateCursorItemReader} configured with named query.
|
||||
*/
|
||||
public class HibernateCursorItemReaderNamedQueryIntegrationTests extends HibernateCursorItemReaderIntegrationTests {
|
||||
|
||||
@Override
|
||||
protected void setQuery(HibernateCursorItemReader<?> reader) {
|
||||
reader.setQueryName("allFoos");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package org.springframework.batch.item.database;
|
||||
|
||||
/**
|
||||
* Tests {@link HibernateCursorItemReader} configured with stateful session and
|
||||
* named query.
|
||||
*/
|
||||
public class HibernateCursorItemReaderStatefulNamedQueryIntegrationTests extends
|
||||
HibernateCursorItemReaderNamedQueryIntegrationTests {
|
||||
|
||||
@Override
|
||||
protected boolean isUseStatelessSession() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -5,11 +5,14 @@
|
||||
|
||||
<hibernate-mapping>
|
||||
<class name="org.springframework.batch.item.sample.Foo" table="T_FOOS">
|
||||
<id name="id" column="ID">
|
||||
<generator class="increment"/>
|
||||
</id>
|
||||
<property name="name" />
|
||||
<property name="value" />
|
||||
</class>
|
||||
<id name="id" column="ID">
|
||||
<generator class="increment" />
|
||||
</id>
|
||||
<property name="name" />
|
||||
<property name="value" />
|
||||
</class>
|
||||
|
||||
</hibernate-mapping>
|
||||
<query name="allFoos">
|
||||
from Foo
|
||||
</query>
|
||||
</hibernate-mapping>
|
||||
|
||||
Reference in New Issue
Block a user