-
-
Notifications
You must be signed in to change notification settings - Fork 264
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
@ElementCollection of @Embeddable that contains @DbArray - NoSuchElementException when empty collection passed (via MultiValueWrapper constructor) #2477
Comments
The stack trace says So there is a disconnect here. It probably would be best to provide an explicit and complete failing test case in Java. |
OK, in Java entities look like
and test class looks like
Full stack trace is
|
This issue is specific to That is, before fixing this we probably need to try to adjust the internals such that element collection persisting uses BeanDescriptor based insert, update, delete persister. |
Hi, Same issue using
Our current workaround :
Yours faithfully, |
Expected behavior
test passed
Actual behavior
java.util.NoSuchElementException
at java.base/java.util.ArrayList$Itr.next(ArrayList.java:1000)
at io.ebeaninternal.server.persist.MultiValueWrapper.(MultiValueWrapper.java:20)
at io.ebeaninternal.api.BindParams.setParameter(BindParams.java:173)
at io.ebeaninternal.server.core.DefaultSqlUpdate.setParameter(DefaultSqlUpdate.java:313)
at io.ebeaninternal.server.core.DefaultSqlUpdate.setParameter(DefaultSqlUpdate.java:284)
at io.ebeaninternal.server.deploy.BeanDescriptor.bindElementValue(BeanDescriptor.java:733)
at io.ebeaninternal.server.deploy.BeanDescriptorElementEmbedded.bindElementValue(BeanDescriptorElementEmbedded.java:55)
at io.ebeaninternal.server.deploy.BeanPropertyAssocMany.bindElementValue(BeanPropertyAssocMany.java:1029)
at io.ebeaninternal.server.persist.SaveManyElementCollection.saveCollection(SaveManyElementCollection.java:50)
at io.ebeaninternal.server.persist.SaveManyElementCollection.save(SaveManyElementCollection.java:34)
at io.ebeaninternal.server.persist.DefaultPersister.saveMany(DefaultPersister.java:882)
at io.ebeaninternal.server.persist.DefaultPersister.saveAssocMany(DefaultPersister.java:876)
at io.ebeaninternal.server.persist.DefaultPersister.update(DefaultPersister.java:503)
at io.ebeaninternal.server.persist.DefaultPersister.update(DefaultPersister.java:381)
at io.ebeaninternal.server.core.DefaultServer.update(DefaultServer.java:1650)
at io.ebeaninternal.server.core.DefaultServer.update(DefaultServer.java:1645)
at io.ebean.DB.update(DB.java:438)
Steps to reproduce
Insert empty list into @DBArray postresql column in @ElementCollection detail.
Entities:
SQL:
test:
The text was updated successfully, but these errors were encountered: