Author: pete.muir(a)jboss.org
Date: 2008-08-05 14:08:03 -0400 (Tue, 05 Aug 2008)
New Revision: 8586
Modified:
trunk/src/main/org/jboss/seam/persistence/HibernatePersistenceProvider.java
trunk/src/main/org/jboss/seam/persistence/ManagedHibernateSession.java
Log:
JBSEAM-3097, thanks to Craig Savolainen
Modified: trunk/src/main/org/jboss/seam/persistence/HibernatePersistenceProvider.java
===================================================================
--- trunk/src/main/org/jboss/seam/persistence/HibernatePersistenceProvider.java 2008-08-05
17:59:05 UTC (rev 8585)
+++ trunk/src/main/org/jboss/seam/persistence/HibernatePersistenceProvider.java 2008-08-05
18:08:03 UTC (rev 8586)
@@ -4,6 +4,7 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
+import java.util.Collection;
import java.util.Map;
import javax.persistence.EntityManager;
@@ -212,7 +213,12 @@
org.hibernate.Filter filter = getSession(entityManager).enableFilter(
f.getName() );
for ( Map.Entry<String, ValueExpression> me: f.getParameters().entrySet()
)
{
- filter.setParameter( me.getKey(), me.getValue().getValue() );
+ Object filterValue = me.getValue().getValue();
+ if ( filterValue instanceof Collection ) {
+ filter.setParameterList(me.getKey(), (Collection) filterValue);
+ } else {
+ filter.setParameter(me.getKey(), filterValue);
+ }
}
filter.validate();
}
Modified: trunk/src/main/org/jboss/seam/persistence/ManagedHibernateSession.java
===================================================================
--- trunk/src/main/org/jboss/seam/persistence/ManagedHibernateSession.java 2008-08-05
17:59:05 UTC (rev 8585)
+++ trunk/src/main/org/jboss/seam/persistence/ManagedHibernateSession.java 2008-08-05
18:08:03 UTC (rev 8586)
@@ -3,6 +3,7 @@
import java.io.Serializable;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -101,7 +102,12 @@
org.hibernate.Filter filter = session.enableFilter( f.getName() );
for ( Map.Entry<String, ValueExpression> me: f.getParameters().entrySet() )
{
- filter.setParameter( me.getKey(), me.getValue().getValue() );
+ Object filterValue = me.getValue().getValue();
+ if ( filterValue instanceof Collection ) {
+ filter.setParameterList(me.getKey(), (Collection) filterValue);
+ } else {
+ filter.setParameter(me.getKey(), filterValue);
+ }
}
filter.validate();
}
Show replies by date