java - JPA closes connection before creating JoinTable statement -



java - JPA closes connection before creating JoinTable statement -

there 2 entities in application - user , role. set unidirectional manytomany relationship.

my entities:

role:

@entity @table(name = "roles") public class roleentity extends baseentity { @column(nullable = false, unique = true) private string name; //getters , setters }

user:

@entity @table(name = "users") public class userentity extends baseentity { @column(nullable = false, unique = true) private string username; @column(nullable = false, unique = false) private string password; @column(nullable = false, unique = false) private string firstname; @column(nullable = false, unique = false) private string lastname; @manytomany(fetch = fetchtype.eager) @jointable(name = "users_roles", joincolumns = @joincolumn(name = "role_id"), inversejoincolumns = @joincolumn(name = "user_id")) private set<roleentity> roles = new hashset<roleentity>(); //getters , setters }

the problem appears when trying create new user has role. creating user that:

//role roleentity adminrole = new roleentity(); adminrole.setname("role_admin"); roleservice.createrole(adminrole); //user userentity admin = new userentity("admin", "admin", "adminfirstname", "adminlastname"); roleentity role_admin = roleservice.loadrolebyrolename("role_admin"); admin.getroles().add(role_admin); userservice.persistuser(admin);

strangely, right database entries getting created though receiving exception when jpa tries write joined table. stack trace:

17-10-2014 11:42:51 debug sql:104 - insert users (firstname, lastname, password, username) values (?, ?, ?, ?) 17-10-2014 11:42:51 debug identifiergeneratorhelper:93 - natively generated identity: 1 17-10-2014 11:42:51 debug abstracttransactionimpl:173 - committing 17-10-2014 11:42:51 debug abstractflushingeventlistener:147 - processing flush-time cascades 17-10-2014 11:42:51 debug abstractflushingeventlistener:188 - dirty checking collections 17-10-2014 11:42:51 debug collections:190 - collection found: [de.mato.main.entities.userentity.roles#1], was: [<unreferenced>] (initialized) 17-10-2014 11:42:51 debug abstractflushingeventlistener:121 - flushed: 0 insertions, 0 updates, 0 deletions 1 objects 17-10-2014 11:42:51 debug abstractflushingeventlistener:128 - flushed: 1 (re)creations, 0 updates, 0 removals 1 collections 17-10-2014 11:42:51 debug entityprinter:114 - listing entities: 17-10-2014 11:42:51 debug entityprinter:121 - de.mato.main.entities.userentity{id=1, lastname=adminlastname, username=admin, roles=[de.mato.main.entities.roleentity#1], firstname=adminfirstname, password=$2a$10$ohrpnwfnhqidspub2wgv1ouvdavz8tdsnsj3dcark4cy3xop1ums6} 17-10-2014 11:42:51 debug abstractcollectionpersister:1201 - inserting collection: [de.mato.main.entities.userentity.roles#1] 17-10-2014 11:42:51 debug sql:104 - insert users_roles (role_id, user_id) values (?, ?) 17-10-2014 11:42:51 debug sqlexceptionhelper:294 - not log warnings com.mysql.jdbc.exceptions.jdbc4.mysqlnontransientconnectionexception: no operations allowed after statement closed. @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:57) @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:45) @ java.lang.reflect.constructor.newinstance(constructor.java:526) @ com.mysql.jdbc.util.handlenewinstance(util.java:408) @ com.mysql.jdbc.util.getinstance(util.java:383) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1023) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:997) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:983) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:928) @ com.mysql.jdbc.statementimpl.checkclosed(statementimpl.java:466) @ com.mysql.jdbc.statementimpl.getwarnings(statementimpl.java:2463) @ org.hibernate.engine.jdbc.spi.sqlexceptionhelper.handleandclearwarnings(sqlexceptionhelper.java:291) @ org.hibernate.engine.jdbc.spi.sqlexceptionhelper.logandclearwarnings(sqlexceptionhelper.java:250) @ org.hibernate.engine.jdbc.internal.jdbccoordinatorimpl.close(jdbccoordinatorimpl.java:489) @ org.hibernate.engine.jdbc.internal.jdbccoordinatorimpl.release(jdbccoordinatorimpl.java:381) @ org.hibernate.engine.jdbc.batch.internal.abstractbatchimpl.releasestatements(abstractbatchimpl.java:171) @ org.hibernate.engine.jdbc.batch.internal.nonbatchingbatch.addtobatch(nonbatchingbatch.java:73) @ org.hibernate.persister.collection.abstractcollectionpersister.recreate(abstractcollectionpersister.java:1256) @ org.hibernate.action.internal.collectionrecreateaction.execute(collectionrecreateaction.java:58) @ org.hibernate.engine.spi.actionqueue.execute(actionqueue.java:395) @ org.hibernate.engine.spi.actionqueue.executeactions(actionqueue.java:387) @ org.hibernate.engine.spi.actionqueue.executeactions(actionqueue.java:309) @ org.hibernate.event.internal.abstractflushingeventlistener.performexecutions(abstractflushingeventlistener.java:349) @ org.hibernate.event.internal.defaultflusheventlistener.onflush(defaultflusheventlistener.java:56) @ org.hibernate.internal.sessionimpl.flush(sessionimpl.java:1159) @ org.hibernate.internal.sessionimpl.managedflush(sessionimpl.java:404) @ org.hibernate.engine.transaction.internal.jdbc.jdbctransaction.beforetransactioncommit(jdbctransaction.java:101) @ org.hibernate.engine.transaction.spi.abstracttransactionimpl.commit(abstracttransactionimpl.java:175) @ org.hibernate.ejb.transactionimpl.commit(transactionimpl.java:75) @ org.springframework.orm.jpa.jpatransactionmanager.docommit(jpatransactionmanager.java:515) @ org.springframework.transaction.support.abstractplatformtransactionmanager.processcommit(abstractplatformtransactionmanager.java:757) @ org.springframework.transaction.support.abstractplatformtransactionmanager.commit(abstractplatformtransactionmanager.java:726) @ org.springframework.transaction.interceptor.transactionaspectsupport.committransactionafterreturning(transactionaspectsupport.java:496) @ org.springframework.transaction.interceptor.transactionaspectsupport.invokewithintransaction(transactionaspectsupport.java:276) @ org.springframework.transaction.interceptor.transactioninterceptor.invoke(transactioninterceptor.java:95) @ org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:179) @ org.springframework.aop.framework.jdkdynamicaopproxy.invoke(jdkdynamicaopproxy.java:207) @ com.sun.proxy.$proxy65.persistuser(unknown source) @ de.mato.main.applicationinit.createstandardroles(applicationinit.java:60) @ de.mato.main.applicationinit.onapplicationevent(applicationinit.java:43) @ de.mato.main.applicationinit.onapplicationevent(applicationinit.java:1) @ org.springframework.context.event.simpleapplicationeventmulticaster.invokelistener(simpleapplicationeventmulticaster.java:151) @ org.springframework.context.event.simpleapplicationeventmulticaster.multicastevent(simpleapplicationeventmulticaster.java:128) @ org.springframework.context.support.abstractapplicationcontext.publishevent(abstractapplicationcontext.java:331) @ org.springframework.context.support.abstractapplicationcontext.finishrefresh(abstractapplicationcontext.java:773) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:483) @ org.springframework.web.context.contextloader.configureandrefreshwebapplicationcontext(contextloader.java:403) @ org.springframework.web.context.contextloader.initwebapplicationcontext(contextloader.java:306) @ org.springframework.web.context.contextloaderlistener.contextinitialized(contextloaderlistener.java:106) @ org.apache.catalina.core.standardcontext.listenerstart(standardcontext.java:4992) @ org.apache.catalina.core.standardcontext.startinternal(standardcontext.java:5490) @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150) @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1575) @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1565) @ java.util.concurrent.futuretask.run(futuretask.java:262) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615) @ java.lang.thread.run(thread.java:745) 17-10-2014 11:42:51 debug sqlexceptionhelper:302 - not clear warnings com.mysql.jdbc.exceptions.jdbc4.mysqlnontransientconnectionexception: no operations allowed after statement closed. @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:57) @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:45) @ java.lang.reflect.constructor.newinstance(constructor.java:526) @ com.mysql.jdbc.util.handlenewinstance(util.java:408) @ com.mysql.jdbc.util.getinstance(util.java:383) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1023) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:997) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:983) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:928) @ com.mysql.jdbc.statementimpl.checkclosed(statementimpl.java:466) @ com.mysql.jdbc.statementimpl.clearwarnings(statementimpl.java:558) @ org.hibernate.engine.jdbc.spi.sqlexceptionhelper.handleandclearwarnings(sqlexceptionhelper.java:300) @ org.hibernate.engine.jdbc.spi.sqlexceptionhelper.logandclearwarnings(sqlexceptionhelper.java:250) @ org.hibernate.engine.jdbc.internal.jdbccoordinatorimpl.close(jdbccoordinatorimpl.java:489) @ org.hibernate.engine.jdbc.internal.jdbccoordinatorimpl.release(jdbccoordinatorimpl.java:381) @ org.hibernate.engine.jdbc.batch.internal.abstractbatchimpl.releasestatements(abstractbatchimpl.java:171) @ org.hibernate.engine.jdbc.batch.internal.nonbatchingbatch.addtobatch(nonbatchingbatch.java:73) @ org.hibernate.persister.collection.abstractcollectionpersister.recreate(abstractcollectionpersister.java:1256) @ org.hibernate.action.internal.collectionrecreateaction.execute(collectionrecreateaction.java:58) @ org.hibernate.engine.spi.actionqueue.execute(actionqueue.java:395) @ org.hibernate.engine.spi.actionqueue.executeactions(actionqueue.java:387) @ org.hibernate.engine.spi.actionqueue.executeactions(actionqueue.java:309) @ org.hibernate.event.internal.abstractflushingeventlistener.performexecutions(abstractflushingeventlistener.java:349) @ org.hibernate.event.internal.defaultflusheventlistener.onflush(defaultflusheventlistener.java:56) @ org.hibernate.internal.sessionimpl.flush(sessionimpl.java:1159) @ org.hibernate.internal.sessionimpl.managedflush(sessionimpl.java:404) @ org.hibernate.engine.transaction.internal.jdbc.jdbctransaction.beforetransactioncommit(jdbctransaction.java:101) @ org.hibernate.engine.transaction.spi.abstracttransactionimpl.commit(abstracttransactionimpl.java:175) @ org.hibernate.ejb.transactionimpl.commit(transactionimpl.java:75) @ org.springframework.orm.jpa.jpatransactionmanager.docommit(jpatransactionmanager.java:515) @ org.springframework.transaction.support.abstractplatformtransactionmanager.processcommit(abstractplatformtransactionmanager.java:757) @ org.springframework.transaction.support.abstractplatformtransactionmanager.commit(abstractplatformtransactionmanager.java:726) @ org.springframework.transaction.interceptor.transactionaspectsupport.committransactionafterreturning(transactionaspectsupport.java:496) @ org.springframework.transaction.interceptor.transactionaspectsupport.invokewithintransaction(transactionaspectsupport.java:276) @ org.springframework.transaction.interceptor.transactioninterceptor.invoke(transactioninterceptor.java:95) @ org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:179) @ org.springframework.aop.framework.jdkdynamicaopproxy.invoke(jdkdynamicaopproxy.java:207) @ com.sun.proxy.$proxy65.persistuser(unknown source) @ de.mato.main.applicationinit.createstandardroles(applicationinit.java:60) @ de.mato.main.applicationinit.onapplicationevent(applicationinit.java:43) @ de.mato.main.applicationinit.onapplicationevent(applicationinit.java:1) @ org.springframework.context.event.simpleapplicationeventmulticaster.invokelistener(simpleapplicationeventmulticaster.java:151) @ org.springframework.context.event.simpleapplicationeventmulticaster.multicastevent(simpleapplicationeventmulticaster.java:128) @ org.springframework.context.support.abstractapplicationcontext.publishevent(abstractapplicationcontext.java:331) @ org.springframework.context.support.abstractapplicationcontext.finishrefresh(abstractapplicationcontext.java:773) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:483) @ org.springframework.web.context.contextloader.configureandrefreshwebapplicationcontext(contextloader.java:403) @ org.springframework.web.context.contextloader.initwebapplicationcontext(contextloader.java:306) @ org.springframework.web.context.contextloaderlistener.contextinitialized(contextloaderlistener.java:106) @ org.apache.catalina.core.standardcontext.listenerstart(standardcontext.java:4992) @ org.apache.catalina.core.standardcontext.startinternal(standardcontext.java:5490) @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150) @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1575) @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1565) @ java.util.concurrent.futuretask.run(futuretask.java:262) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615) @ java.lang.thread.run(thread.java:745) 17-10-2014 11:42:51 debug jdbccoordinatorimpl:512 - exception clearing maxrows/querytimeout [no operations allowed after statement closed.] 17-10-2014 11:42:51 debug abstractcollectionpersister:1284 - done inserting collection: 1 rows inserted

i tried set connection pooling receiving similar exceptions. have thought missing?

thank you

finally found problem. trying version of hibernate (lower 4.0.2) works. knows why?

java mysql spring hibernate jpa

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

Local Service User Logged into Windows -