openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From garpinc <garp...@yahoo.com>
Subject Re: @javax.persistence.ElementCollection instead of @org.apache.openjpa.persistence.PersistentCollection I get exception
Date Fri, 31 Aug 2012 21:00:56 GMT
After further investigation I found that it has nothing to do with the
ElementCollection or PersistentCollection.
The mapping that was working simply was erroneously leaving out the
problematic column.

I fixed the annotation so it's now as follows:
    @javax.persistence.CollectionTable(
        name="Movie_image",
        joinColumns=@javax.persistence.JoinColumn(name="Movie_fk"))
	@javax.persistence.ElementCollection(targetClass=java.lang.String.class)
	@javax.persistence.Lob
	public java.util.Collection<org.openanzo.rdf.URI> getImage() throws
org.openanzo.rdf.jastor.JastorException {

The table is now being created correctly but at runtime I'm getting a
ClassCastException at line 1300 in DBDictionary

                    setClobString(stmnt, idx, (String) val, col);

val is an instance of org.openanzo.rdf.URI which I passed into openjpa
config with:

        jpaConf.put("openjpa.jdbc.MappingDefaults",
"ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict,FieldStrategies='"
+ Duration.class.getName() + "=" + DurationValueHandler.class.getName() +
"," + URI.class.getName() + "=" + URIValueHandler.class.getName() + "'");

But I can't seem to find where in the code it's supposed to apply that value
URIValueHandler to create val which could then be cast to a String. 

If anyone has any ideas it would be greatly appreciated.



--
View this message in context: http://openjpa.208410.n2.nabble.com/javax-persistence-ElementCollection-instead-of-org-apache-openjpa-persistence-PersistentCollection-In-tp7580963p7580990.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Mime
View raw message