java - id field does not have a default value -


in spring mvc app using hibernate, encountering following error when try persist entity:

java.sql.sqlexception: field 'thirdids_huid' doesn't have default value 

the database schema generated hbm2ddl. how can change hibernate code these entities can persisted successfully?

the 2 entities aclass , hclass. code aclass is::

import javax.persistence.*;  @entity(name = "aclass") @table(name = "a_class") public class aclass {      private long auid;       private hclass firstid;     private list<hclass> secondids;     private list<hclass> thirdids;      @id     @column(name = "auid")     @generatedvalue(strategy = generationtype.auto)     public long getauid(){return auid;}     public void setauid(long hid){auid = hid;}      @manytoone     public hclass getfirstid(){return firstid;}     public void setfirstid(hclass tid){firstid = tid;}      @onetomany     public list<hclass> getsecondids(){return secondids;}     public void setsecondids(list<hclass> tid){secondids = tid;}      @onetomany     public list<hclass> getthirdids(){return thirdids;}     public void setthirdids(list<hclass> i){thirdids = i;}  } 

the code hclass is:

import javax.persistence.*;  @entity(name = "hclass") @table(name = "h_class") public class hclass {      private long huid;     private string somefield;      @id     @column(name = "huid")     @generatedvalue(strategy = generationtype.auto)     public long gethuid(){return huid;}     public void sethuid(long hid){huid = hid;}      @column(name = "somefield")     public string getsomefield(){return somefield;}     public void setsomefield(string rt){somefield = rt;}  } 

the controller code triggers error is:

@requestmapping(value = "/triggertheerror", method = requestmethod.get) public string processfindform( httpservletrequest request, map<string, object> model) {          aclass ac = new aclass();     hclass hc = new hclass();     hc.setsomefield("some value goes here");     list<hclass> hcs = new arraylist<hclass>();     hcs.add(hc);     ac.setsecondids(hcs);      hclass hc2 = new hclass();     hc2.setsomefield("another value goes here");     list<hclass> hcs2 = new arraylist<hclass>();     hcs2.add(hc2);     ac.setthirdids(hcs2);      persistaclass(ac);     return "reproduceerror"; }  public void persistaclass(aclass ac){      if(ac.getthirdids()!=null){         if(ac.getthirdids().size()==0){ac.setthirdids(null);system.out.println("thirdids re-set null.");}         if(ac.getthirdids()!=null){             system.out.println("thirdids!=null: size is: "+ac.getthirdids().size());             for(int dd = 0;dd<ac.getthirdids().size();dd++){                 this.servicelayer.savehclass(ac.getthirdids().get(dd));             }         }     }     if(ac.getsecondids()!=null){         if(ac.getsecondids().size()==0){ac.setsecondids(null);system.out.println("secondids re-set null.");}         if(ac.getsecondids()!=null){             system.out.println("secondsid!=null: size is:"+ac.getsecondids().size());             for(int kk = 0;kk < ac.getsecondids().size();kk++){                 this.servicelayer.savehclass(ac.getsecondids().get(kk));             }         }     }     if(ac.getfirstid()!=null){         system.out.println("firstid!=null: huid value is: "+ac.getfirstid().gethuid());         this.servicelayer.savehclass(ac.getfirstid());     }  system.out.println("-------------------- data follows ------------------------------");     for(int a=0;a<ac.getsecondids().size();a++){         system.out.println("a, secondids somefield are: "+a+", "+ac.getsecondids().get(a).getsomefield());     }     if(ac.getfirstid()!=null){         string rt = "";         if(ac.getfirstid().getsomefield()!=null){rt = ac.getfirstid().getsomefield();}         system.out.println("first id field is: "+rt);     }     if(ac.getthirdids()!=null){         for(int b = 0;b<ac.getthirdids().size();b++){             string sf = "";             if(ac.getthirdids().get(b).getsomefield()!=null){sf = ac.getthirdids().get(b).getsomefield();}             system.out.println("b, third ids somefield are: "+b+", "+sf);         }     } system.out.println("-------------------- end of data -------------------------------");     this.servicelayer.saveaclass(ac); } 

note line of code in controller above triggers error is:

this.servicelayer.saveaclass(ac); 

the repository code called service layer is:

@override public void saveaclass(aclass myac) throws dataaccessexception{     if (myac.getauid() == null) {this.em.persist(myac);}     else {this.em.merge(myac);}  } 

the complete stack trace is:

11:51:04.334 [http-nio-8080-exec-3] debug o.s.web.servlet.dispatcherservlet - handler execution resulted in exception - forwarding resolved error view: modelandview: reference view name 'exception'; model {exception=org.springframework.orm.hibernate3.hibernatejdbcexception: jdbc exception on hibernate data access: sqlexception sql [n/a]; sql state [hy000]; error code [1364]; not execute statement; nested exception org.hibernate.exception.genericjdbcexception: not execute statement} org.springframework.orm.hibernate3.hibernatejdbcexception: jdbc exception on hibernate data access: sqlexception sql [n/a]; sql state [hy000]; error code [1364]; not execute statement; nested exception org.hibernate.exception.genericjdbcexception: not execute statement     @ org.springframework.orm.hibernate3.sessionfactoryutils.converthibernateaccessexception(sessionfactoryutils.java:651) ~[spring-orm-3.2.5.release.jar:3.2.5.release]     @ org.springframework.orm.jpa.vendor.hibernatejpadialect.translateexceptionifpossible(hibernatejpadialect.java:106) ~[spring-orm-3.2.5.release.jar:3.2.5.release]     @ org.springframework.orm.jpa.jpatransactionmanager.docommit(jpatransactionmanager.java:517) ~[spring-orm-3.2.5.release.jar:3.2.5.release]     @ org.springframework.transaction.support.abstractplatformtransactionmanager.processcommit(abstractplatformtransactionmanager.java:755) ~[spring-tx-3.2.5.release.jar:3.2.5.release]     @ org.springframework.transaction.support.abstractplatformtransactionmanager.commit(abstractplatformtransactionmanager.java:724) ~[spring-tx-3.2.5.release.jar:3.2.5.release]     @ org.springframework.transaction.interceptor.transactionaspectsupport.committransactionafterreturning(transactionaspectsupport.java:475) ~[spring-tx-3.2.5.release.jar:3.2.5.release]     @ org.springframework.transaction.interceptor.transactionaspectsupport.invokewithintransaction(transactionaspectsupport.java:270) ~[spring-tx-3.2.5.release.jar:3.2.5.release]     @ org.springframework.transaction.interceptor.transactioninterceptor.invoke(transactioninterceptor.java:94) ~[spring-tx-3.2.5.release.jar:3.2.5.release]     @ org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:172) ~[spring-aop-3.2.5.release.jar:3.2.5.release]     @ org.springframework.aop.framework.jdkdynamicaopproxy.invoke(jdkdynamicaopproxy.java:204) ~[spring-aop-3.2.5.release.jar:3.2.5.release]     @ com.sun.proxy.$proxy27.saveaclass(unknown source) ~[na:na]     @ example.controller.somemodelclasscontroller.persistaclass(somemodelclasscontroller.java:96) ~[somemodelclasscontroller.class:na]     @ example.controller.somemodelclasscontroller.processfindform(somemodelclasscontroller.java:50) ~[somemodelclasscontroller.class:na]     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) ~[na:1.7.0_79]     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57) ~[na:1.7.0_79]     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) ~[na:1.7.0_79]     @ java.lang.reflect.method.invoke(method.java:606) ~[na:1.7.0_79]     @ org.springframework.web.method.support.invocablehandlermethod.invoke(invocablehandlermethod.java:219) ~[spring-web-3.2.5.release.jar:3.2.5.release]     @ org.springframework.web.method.support.invocablehandlermethod.invokeforrequest(invocablehandlermethod.java:132) ~[spring-web-3.2.5.release.jar:3.2.5.release]     @ org.springframework.web.servlet.mvc.method.annotation.servletinvocablehandlermethod.invokeandhandle(servletinvocablehandlermethod.java:104) ~[spring-webmvc-3.2.5.release.jar:3.2.5.release]     @ org.springframework.web.servlet.mvc.method.annotation.requestmappinghandleradapter.invokehandlemethod(requestmappinghandleradapter.java:745) ~[spring-webmvc-3.2.5.release.jar:3.2.5.release]     @ org.springframework.web.servlet.mvc.method.annotation.requestmappinghandleradapter.handleinternal(requestmappinghandleradapter.java:686) ~[spring-webmvc-3.2.5.release.jar:3.2.5.release]     @ org.springframework.web.servlet.mvc.method.abstracthandlermethodadapter.handle(abstracthandlermethodadapter.java:80) ~[spring-webmvc-3.2.5.release.jar:3.2.5.release]     @ org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:925) [spring-webmvc-3.2.5.release.jar:3.2.5.release]     @ org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:856) [spring-webmvc-3.2.5.release.jar:3.2.5.release]     @ org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:936) [spring-webmvc-3.2.5.release.jar:3.2.5.release]     @ org.springframework.web.servlet.frameworkservlet.doget(frameworkservlet.java:827) [spring-webmvc-3.2.5.release.jar:3.2.5.release]     @ javax.servlet.http.httpservlet.service(httpservlet.java:618) [servlet-api.jar:na]     @ org.springframework.web.servlet.frameworkservlet.service(frameworkservlet.java:812) [spring-webmvc-3.2.5.release.jar:3.2.5.release]     @ javax.servlet.http.httpservlet.service(httpservlet.java:725) [servlet-api.jar:na]     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:291) [catalina.jar:8.0.15]     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) [catalina.jar:8.0.15]     @ org.springframework.web.filter.hiddenhttpmethodfilter.dofilterinternal(hiddenhttpmethodfilter.java:77) [spring-web-3.2.5.release.jar:3.2.5.release]     @ org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:107) [spring-web-3.2.5.release.jar:3.2.5.release]     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:239) [catalina.jar:8.0.15]     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) [catalina.jar:8.0.15]     @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52) [tomcat-websocket.jar:8.0.15]     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:239) [catalina.jar:8.0.15]     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) [catalina.jar:8.0.15]     @ org.springframework.web.filter.characterencodingfilter.dofilterinternal(characterencodingfilter.java:88) [spring-web-3.2.5.release.jar:3.2.5.release]     @ org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:107) [spring-web-3.2.5.release.jar:3.2.5.release]     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:239) [catalina.jar:8.0.15]     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) [catalina.jar:8.0.15]     @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:219) [catalina.jar:8.0.15]     @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:106) [catalina.jar:8.0.15]     @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:501) [catalina.jar:8.0.15]     @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:142) [catalina.jar:8.0.15]     @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:79) [catalina.jar:8.0.15]     @ org.apache.catalina.valves.abstractaccesslogvalve.invoke(abstractaccesslogvalve.java:610) [catalina.jar:8.0.15]     @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:88) [catalina.jar:8.0.15]     @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:537) [catalina.jar:8.0.15]     @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1085) [tomcat-coyote.jar:8.0.15]     @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:658) [tomcat-coyote.jar:8.0.15]     @ org.apache.coyote.http11.http11nioprotocol$http11connectionhandler.process(http11nioprotocol.java:222) [tomcat-coyote.jar:8.0.15]     @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.dorun(nioendpoint.java:1556) [tomcat-coyote.jar:8.0.15]     @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.run(nioendpoint.java:1513) [tomcat-coyote.jar:8.0.15]     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145) [na:1.7.0_79]     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615) [na:1.7.0_79]     @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61) [tomcat-util.jar:8.0.15]     @ java.lang.thread.run(thread.java:745) [na:1.7.0_79] caused by: org.hibernate.exception.genericjdbcexception: not execute statement     @ org.hibernate.exception.internal.standardsqlexceptionconverter.convert(standardsqlexceptionconverter.java:54) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.engine.jdbc.spi.sqlexceptionhelper.convert(sqlexceptionhelper.java:125) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.engine.jdbc.spi.sqlexceptionhelper.convert(sqlexceptionhelper.java:110) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.engine.jdbc.internal.resultsetreturnimpl.executeupdate(resultsetreturnimpl.java:136) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.engine.jdbc.batch.internal.nonbatchingbatch.addtobatch(nonbatchingbatch.java:58) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.persister.collection.abstractcollectionpersister.recreate(abstractcollectionpersister.java:1256) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.action.internal.collectionrecreateaction.execute(collectionrecreateaction.java:58) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.engine.spi.actionqueue.execute(actionqueue.java:364) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.engine.spi.actionqueue.executeactions(actionqueue.java:356) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.engine.spi.actionqueue.executeactions(actionqueue.java:281) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.event.internal.abstractflushingeventlistener.performexecutions(abstractflushingeventlistener.java:328) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.event.internal.defaultflusheventlistener.onflush(defaultflusheventlistener.java:52) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.internal.sessionimpl.flush(sessionimpl.java:1234) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.internal.sessionimpl.managedflush(sessionimpl.java:404) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.engine.transaction.internal.jdbc.jdbctransaction.beforetransactioncommit(jdbctransaction.java:101) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.engine.transaction.spi.abstracttransactionimpl.commit(abstracttransactionimpl.java:175) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     @ org.hibernate.ejb.transactionimpl.commit(transactionimpl.java:75) ~[hibernate-entitymanager-4.2.1.final.jar:4.2.1.final]     @ org.springframework.orm.jpa.jpatransactionmanager.docommit(jpatransactionmanager.java:513) ~[spring-orm-3.2.5.release.jar:3.2.5.release]     ... 57 common frames omitted caused by: java.sql.sqlexception: field 'thirdids_huid' doesn't have default value     @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1078) ~[mysql-connector-java-5.1.27.jar:na]     @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:4237) ~[mysql-connector-java-5.1.27.jar:na]     @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:4169) ~[mysql-connector-java-5.1.27.jar:na]     @ com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:2617) ~[mysql-connector-java-5.1.27.jar:na]     @ com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2778) ~[mysql-connector-java-5.1.27.jar:na]     @ com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2825) ~[mysql-connector-java-5.1.27.jar:na]     @ com.mysql.jdbc.preparedstatement.executeinternal(preparedstatement.java:2156) ~[mysql-connector-java-5.1.27.jar:na]     @ com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:2459) ~[mysql-connector-java-5.1.27.jar:na]     @ com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:2376) ~[mysql-connector-java-5.1.27.jar:na]     @ com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:2360) ~[mysql-connector-java-5.1.27.jar:na]     @ org.hibernate.engine.jdbc.internal.resultsetreturnimpl.executeupdate(resultsetreturnimpl.java:133) ~[hibernate-core-4.2.1.final.jar:4.2.1.final]     ... 71 common frames omitted 11:51:04.336 [http-nio-8080-exec-3] debug o.s.w.s.v.contentnegotiatingviewresolver - requested media types [text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8] based on accept header types , producible media types [*/*]) 11:51:04.336 [http-nio-8080-exec-3] debug o.s.b.f.s.defaultlistablebeanfactory - invoking afterpropertiesset() on bean name 'exception' 11:51:04.337 [http-nio-8080-exec-3] debug o.s.w.s.v.contentnegotiatingviewresolver - returning [org.springframework.web.servlet.view.jstlview: name 'exception'; url [/web-inf/jsp/exception.jsp]] based on requested media type 'text/html' 11:51:04.337 [http-nio-8080-exec-3] debug o.s.web.servlet.dispatcherservlet - rendering view [org.springframework.web.servlet.view.jstlview: name 'exception'; url [/web-inf/jsp/exception.jsp]] in dispatcherservlet name 'minimaldbaseexample' 11:51:04.337 [http-nio-8080-exec-3] debug o.s.web.servlet.view.jstlview - added model object 'exception' of type [org.springframework.orm.hibernate3.hibernatejdbcexception] request in view name 'exception' 11:51:04.337 [http-nio-8080-exec-3] debug o.s.web.servlet.view.jstlview - forwarding resource [/web-inf/jsp/exception.jsp] in internalresourceview 'exception' 11:51:04.380 [http-nio-8080-exec-3] debug o.s.web.servlet.dispatcherservlet - completed request 

answer


the solution came part of @vladmihalcea's answer involved removing multiple references hclass in list of properties of aclass. specifically, created types hclassfirst, hclasssecond, , hclassthird, same properties , methods. way, hibernate did not confused multiple properties of aclass linking same type. app's architecture allows this. decided against using inheritance because there lot of links in each table, , don't want bump other errors related excess number of foreign keys.

thus, solution not in hibernate annotations. instead, solution in adjusting model hibernate being asked persist.

i think it's much simpler use cascading in example:

@entity(name = "aclass") @table(name = "a_class") public class aclass {      private long auid;       private hclass firstid;     private list<hclass> secondids = new arraylist<>();     private list<hclass> thirdids = new arraylist<>();      @id     @column(name = "auid")     @generatedvalue(strategy = generationtype.auto)     public long getauid(){return auid;}     public void setauid(long hid){auid = hid;}      @manytoone     public hclass getfirstid(){return firstid;}     public void setfirstid(hclass tid){firstid = tid;}      @onetomany(cascade = cascadetype.all, orphanremoval = true)     public list<hclass> getsecondids(){return secondids;}     public void setsecondids(list<hclass> tid){secondids = tid;}      @onetomany(cascade = cascadetype.all, orphanremoval = true)     public list<hclass> getthirdids(){return thirdids;}     public void setthirdids(list<hclass> i){thirdids = i;}  } 

then persisting logic becomes that:

public void persistaclass(aclass ac){         this.servicelayer.saveaclass(ac); } 

the original issue might due this:

at org.hibernate.action.internal.collectionrecreateaction.execute(collectionrecreateaction.java:58) ~[hibernate-core-4.2.1.final.jar:4.2.1.final] 

this how should initialize collections in entities:

private list<hclass> secondids = new arraylist<>(); private list<hclass> thirdids = new arraylist<>(); 

so, when want modify collections, don't reset them, rather rely on dirty checking mechanism add/remove elements:

aclass ac = new aclass(); hclass hc = new hclass(); hc.setsomefield("some value goes here");  ac.getsecondids().add(hc);  hclass hc2 = new hclass(); hc2.setsomefield("another value goes here"); ac.getthirdids().add(hc2);  persistaclass(ac); 

during merge, should remove children no longer belong parent , add new ones coming web request.

edit

i tried example on local machine , problem way mappings. because link aclass hclass on 3 different relations (one many-to-one , 2 one-to-many), get:

create table a_class (auid bigint generated default identity (start 1), firstid_huid bigint, primary key (auid)) create table a_class_h_class (a_class_auid bigint not null, thirdids_huid bigint not null, secondids_huid bigint not null) create table h_class (huid bigint generated default identity (start 1), somefield varchar(255), primary key (huid)) alter table a_class_h_class add constraint uk_qtt8gi008ssnfi4t3mo3tq310  unique (thirdids_huid) alter table a_class_h_class add constraint uk_35k583bmbiomo0rc6t74ba41g  unique (secondids_huid) alter table a_class add constraint fk_1hw1d6sy2yhp9hirqgb6rx6yr foreign key (firstid_huid) references h_class alter table a_class_h_class add constraint fk_qtt8gi008ssnfi4t3mo3tq310 foreign key (thirdids_huid) references h_class alter table a_class_h_class add constraint fk_jng9ogc4rmlmojd31weygk6l9 foreign key (a_class_auid) references a_class alter table a_class_h_class add constraint fk_35k583bmbiomo0rc6t74ba41g foreign key (secondids_huid) references h_class 

so when try enter entity:

query:{[insert a_class (auid, firstid_huid) values (default, ?)][-5]}  query:{[insert h_class (huid, somefield) values (default, ?)][some value goes here]}  query:{[insert h_class (huid, somefield) values (default, ?)][another value goes here]}  query:{[insert a_class_h_class (a_class_auid, secondids_huid) values (?, ?)][1,1]}  warn  [alice]: o.h.e.j.s.sqlexceptionhelper - sql error: -10, sqlstate: 23502 error [alice]: o.h.e.j.s.sqlexceptionhelper - integrity constraint violation: not null check constraint; sys_ct_10096 table: a_class_h_class column: thirdids_huid 

the fix change mapping. instead of 3 hclass associations should have else, maybe inheritance model or something. try model domain entities on valid schema.


Comments

Popular posts from this blog

java - Spring Data JPA: Why findOne(id) executing delete query internally? -

python - Mongodb How to add addtional information when aggregating? -

java - Incorrect order of records in M-M relationship in hibernate -