That's not new enough; per
https://issues.apache.org/jira/browse/OPENJPA-417?page=com.atlassian.jira.plugin.ext.subversion:subversion-commits-tabpanel,
it needs to be 592917 or newer.
-Patrick
On Nov 14, 2007 9:57 AM, Tedman Leung <[EMAIL PROTECTED]> wrote:
> I've tried @PersistentCollection with a recent
> openjpa-1.1.0-SNAPSHOT-r420667:570593 and it doesn't appear to work with
> Integers.
>
>
> ---- Declaration ----
>
> @PersistentCollection(fetch=FetchType.EAGER)
> @ContainerTable(name="ItemItemCategory", [EMAIL PROTECTED](name="itemId"))
> @Column(name="itemCategoryId")
> private HashSet<Integer> itemCategoryIds = new HashSet<Integer>();
>
> ---- Stack Trace ----
> (The HashSet was empty, nothing was put in there yet.)
>
> Caused by: <openjpa-1.1.0-SNAPSHOT-r420667:570593 nonfatal general error>
> org.apache.openjpa.persistence.PersistenceException: Incorrect integer value:
> 'B,C-' for column
> 'itemCategoryId' at row 1 {prepstmnt 31918258 INSERT INTO ItemItemCategory
> (itemId, itemCategoryId) VALUES (?, ?) [params=(int) 1, (InputStream)
> [EMAIL PROTECTED] [code=1366, state=HY000]
> FailedObject: [EMAIL PROTECTED]
> at
> org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:3869)
> at
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:97)
> at
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:67)
> at
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:106)
> at
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:71)
> at
> org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flushGraph(ConstraintUpdateManager.java:350)
> at
> org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:96)
> at
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
> at
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
> at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:514)
> at
> org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
> ... 38 more
> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: Incorrect
> integer value: 'B,C-' for column 'itemCategoryId' at row 1 {prepstmnt
> 31918258 INSERT INTO
> ItemItemCategory (itemId, itemCategoryId) VALUES (?, ?) [params=(int) 1,
> (InputStream) [EMAIL PROTECTED] [code=1366, state=HY000]
> at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)
> at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$800(LoggingConnectionDecorator.java:57)
> at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:858)
> at
> org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
> at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1363)
> at
> org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:95)
> ... 45 more
>
>
>
>
>
> > Hi,
> >
> > You should use the OpenJPA @PersistentCollection annotation.
> >
> > Note that this only works in the trunk (1.1.0-SNAPSHOT) builds, as of
> > maybe 3 or 4 weeks ago.
> >
> > -Patrick
> >
> > On Nov 14, 2007 7:43 AM, Nicolas Modrzyk <[EMAIL PROTECTED]> wrote:
> > > Hello hello,
> > >
> > > Could someone confirm the proper way to persistent a collection/set of
> > > String:
> > >
> > > @OneToMany
> > > private Collection<String> set;
> > >
> > > Whatever I am trying to use is resulting in the exception below, where
> > > I am told to choose a different persistence strategy.
> > >
> > > [junit] The type of field "...set" isn't supported by declared
> > > persistence strategy "OneToMany". Please choose a different strategy.
> > > [junit] <openjpa-1.0.0-r420667:568756 fatal user error>
> > > org.apache.openjpa.persistence.ArgumentException: The type of field
> > > "...set" isn't supported by declared persistence strategy "OneToMany".
> > > Please choose a different strategy.
> > > [junit] at
> > > org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseOneToMany(AnnotationPersistenceMetaDataParser.java:1283)
> > > [junit] at
> > > org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseMemberAnnotations(AnnotationPersistenceMetaDataParser.java:944)
> > > [junit] at
> > > org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseClassAnnotations(AnnotationPersistenceMetaDataParser.java:599)
> > > [junit] at
> > > org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parse(AnnotationPersistenceMetaDataParser.java:349)
> > >
> > > Thank you in advance !
> > >
> > > Niko,
> > >
> >
> >
> >
> > --
> > Patrick Linskey
> > 202 669 5907
>
> --
> Ted Leung
> [EMAIL PROTECTED]
>
> You know things are getting a little fishy when you're commenting out
> comments.
>
--
Patrick Linskey
202 669 5907