Author: mikedd
Date: Mon Aug 1 19:23:33 2011
New Revision: 1152904
URL: http://svn.apache.org/viewvc?rev=1152904&view=rev
Log:
OPENJPA-2015 Add to relationship collection only if type matches.
Modified:
openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/StoreCollectionFieldStrategy.java
Modified:
openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/StoreCollectionFieldStrategy.java
URL:
http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/StoreCollectionFieldStrategy.java?rev=1152904&r1=1152903&r2=1152904&view=diff
==============================================================================
---
openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/StoreCollectionFieldStrategy.java
(original)
+++
openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/StoreCollectionFieldStrategy.java
Mon Aug 1 19:23:33 2011
@@ -123,7 +123,11 @@ public abstract class StoreCollectionFie
* By default, assumes the structure is a collection.
*/
protected void add(JDBCStore store, Object coll, Object obj) {
- ((Collection) coll).add(obj);
+ Class<?> elemClazz = field.getElement().getDeclaredType();
+ if( elemClazz == null || obj == null ||
+ elemClazz.isAssignableFrom(obj.getClass())) {
+ ((Collection) coll).add(obj);
+ }
}
/**