claudio
unread,Dec 1, 2010, 11:01:13 AM12/1/10Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Ebean ORM
Hi, I have a problem saving an object with an embedded bean.
If I change one or more fields in the entity AND fields in the
embedded bean then Ebean saves correcly.
If I change ONLY fields of the embedded bean (or no field) an save the
container entity I get a NPE.
I'm using Ebean 2.7.1, but in my logs i see: INFO: Ebean Version[2.7.0-
SNAPSHOT] Java Version[1.6.0_21]
Can you help?
Thanks
Claudio
Those are the classes
@Entity @Table(name="ASSOC_PERSONE")
public class AssociazionePersone implements Serializable {
@Id private Integer id;
@ManyToOne private TipoAssociazionePersone tipo;
@OneToMany(cascade=CascadeType.ALL, mappedBy="associazione")
@OrderBy(value="persona.dataNascita desc") @PrivateOwned
private List<AppartenenzaAssociazione> appartenenze;
@Embedded PeriodoTemporale validita;
@Column(length=500) private String note;
@Version private int updateCount;
... getters ... setters
}
@Embeddable
public class PeriodoTemporale implements Serializable {
@Temporal(TemporalType.DATE) private Date inizio;
@Temporal(TemporalType.DATE) private Date fine;
public PeriodoTemporale() {}
public PeriodoTemporale(Date inizio, Date fine) {
this.inizio = inizio;
this.fine = fine;
}
... getters ... setters
}
Here is the log of Ebean starting
1-dic-2010 16.35.50
com.avaje.ebeaninternal.server.core.BootupClassPathSearch search
INFO: Classpath search hits in jars[ebean-2.7.1.jar]
pkgs[ares.model.sportellosociale, ares.model.anagrafica,
ares.model.prestazioni.contributi, ares.model.infopatrimoniali,
com.avaje.ebean.meta, ares.model, ares.model.comunicazioni,
ares.model.prestazioni.proposta, ares.model.agenda,
ares.model.prestazioni.domanda, ares.model.prestazioni.servizi,
com.avaje.ebeaninternal.server.bean, ares.model.prestazioni,
ares.model.accessi] searchTime[391]
1-dic-2010 16.35.50
com.avaje.ebeaninternal.server.lib.sql.DataSourcePool initialise
INFO: DataSourcePool [ares] autoCommit[false]
transIsolation[READ_COMMITTED] min[2] max[20]
1-dic-2010 16.35.51
com.avaje.ebeaninternal.server.subclass.SubClassManager$1 run
INFO: SubClassFactory parent ClassLoader
[org.apache.catalina.loader.WebappClassLoader]
1-dic-2010 16.35.51
com.avaje.ebeaninternal.server.type.DefaultTypeManager
initialiseJodaTypes
INFO: Registering Joda data types
1-dic-2010 16.35.52 com.avaje.ebeaninternal.server.deploy.DeployOrmXml
findAllOrmXml
INFO: No deployment xml (orm.xml etc) was loaded.
1-dic-2010 16.35.52
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager logStatus
INFO: Entities enhanced[52] subclassed[3]
1-dic-2010 16.35.52
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager logStatus
AVVERTENZA: Mixing enhanced and subclassed entities. Subclassed
classes:[MetaAutoFetchStatistic, MetaQueryStatistic,
MetaAutoFetchTunedQueryInfo]
1-dic-2010 16.35.53
com.avaje.ebeaninternal.server.autofetch.DefaultAutoFetchManagerLogging
logToJavaLogger
INFO: AutoFetch queryTuning[false] profiling[false]
mode[DEFAULT_ONIFEMPTY] profiling rate[0.05] min[1] base[10]
1-dic-2010 16.35.53 com.avaje.ebean.Ebean <clinit>
INFO: Ebean Version[2.7.0-SNAPSHOT] Java Version[1.6.0_21]
and this is the Stack trace
org.apache.wicket.WicketRuntimeException: Method onFormSubmitted of
interface org.apache.wicket.markup.html.form.IFormSubmitListener
targeted at component [MarkupContainer [Component id = form]] threw an
exception
at
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:
193)
at
org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:
73)
at
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:
92)
at
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:
1250)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:
484)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:
317)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
298)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
852)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
489)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:
182)
... 20 more
Caused by: java.lang.NullPointerException
at
com.avaje.ebeaninternal.server.core.PersistRequestBean.hasChanged(PersistRequestBean.java:
646)
at
com.avaje.ebeaninternal.server.persist.dmlbind.BindableProperty.addChanged(BindableProperty.java:
45)
at
com.avaje.ebeaninternal.server.persist.dmlbind.BindableList.addChanged(BindableList.java:
41)
at
com.avaje.ebeaninternal.server.persist.dml.UpdateMeta.getDynamicUpdatePlan(UpdateMeta.java:
180)
at
com.avaje.ebeaninternal.server.persist.dml.UpdateMeta.getUpdatePlan(UpdateMeta.java:
125)
at
com.avaje.ebeaninternal.server.persist.dml.UpdateHandler.bind(UpdateHandler.java:
54)
at
com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.execute(DmlBeanPersister.java:
98)
at
com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.update(DmlBeanPersister.java:
85)
at
com.avaje.ebeaninternal.server.persist.DefaultPersistExecute.executeUpdateBean(DefaultPersistExecute.java:
110)
at
com.avaje.ebeaninternal.server.core.PersistRequestBean.executeNow(PersistRequestBean.java:
449)
at
com.avaje.ebeaninternal.server.core.PersistRequestBean.executeOrQueue(PersistRequestBean.java:
475)
at
com.avaje.ebeaninternal.server.persist.DefaultPersister.update(DefaultPersister.java:
410)
at
com.avaje.ebeaninternal.server.persist.DefaultPersister.saveEnhanced(DefaultPersister.java:
330)
at
com.avaje.ebeaninternal.server.persist.DefaultPersister.saveRecurse(DefaultPersister.java:
302)
at
com.avaje.ebeaninternal.server.persist.DefaultPersister.save(DefaultPersister.java:
269)
at
com.avaje.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:
1537)
at
com.avaje.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:
1527)
at com.avaje.ebean.Ebean.save(Ebean.java:538)
at ares.ui.anagrafica.nucleifamiliari.NucleoFamiliarePage
$1.salva(NucleoFamiliarePage.java:56)
at wicketutils.formcommands.FormCommands$1.onSubmit(FormCommands.java:
37)
at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:
1561)
at org.apache.wicket.markup.html.form.Form.process(Form.java:958)
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:
920)
... 25 more