java - How to deal with error applying BeanValidation relational constraints? -
i've got problems making onetomany relation in spring + hibernate 4.1 application entities classes. every user_role record has fk user record. can't find useful on internet.
@entity @table( name = "users" ) public class user { long id; string login; string password; string name; string surname; gregoriancalendar birthdate; string email; gregoriancalendar joindate; string randomkey; list<userrole> userroles = new arraylist<userrole>(); public user(){ } //javabean hibernate requirement @id @generatedvalue(generator="increment") @genericgenerator(name="increment", strategy = "increment") @column(name="user_id", unique=true, nullable=false) public long getid() { return id; } public void setid(long id) { this.id = id; } ... @onetomany(mappedby = "user", fetch = fetchtype.lazy) public list<userrole> getuserroles() { return userroles; } public void setaccountrole(list<userrole> auserroles) { (userrole role : auserroles) { this.adduserrole(role); } } public void adduserrole(userrole arole) { if (!this.userroles.contains(arole)) { arole.setuser(this); this.userroles.add(arole); } } } @entity @table(name = "user_role") public class userrole { integer roleid; string role; user user; public userrole() { } // public userrole(string role) { // this.setrole(role); // } @id @generatedvalue(generator="increment") @genericgenerator(name="increment", strategy = "increment") @column(name = "role_id", unique = true, nullable = false) public integer getroleid() { return roleid; } public void setroleid(integer roleid) { this.roleid = roleid; } @basic public string getrole() { return role; } public void setrole(string role) { this.role = role; } @manytoone(fetch = fetchtype.lazy) @joincolumn(name = "user_id", nullable = false) public user getuser() { return user; } public void setuser(user auser) { this.user = auser; } } and first exception in stack trace:
org.springframework.beans.factory.beancreationexception: error creating bean name 'homecontroller': injection of autowired dependencies failed; nested exception org.springframework.beans.factory.beancreationexception: not autowire field: pl.rafalo235.encyklopedia.model.dao.userdao pl.rafalo235.encyklopedia.controllers.homecontroller.userdao; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'userdao': injection of autowired dependencies failed; nested exception org.springframework.beans.factory.beancreationexception: not autowire field: private org.springframework.orm.hibernate4.localsessionfactorybean pl.rafalo235.encyklopedia.model.dao.userdao.sessionfactory; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'mysessionfactory' defined in servletcontext resource [/web-inf/encyklopediadispatcherservlet-servlet.xml]: invocation of init method failed; nested exception org.hibernate.hibernateexception: error applying beanvalidation relational constraints @ org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor.postprocesspropertyvalues(autowiredannotationbeanpostprocessor.java:287) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.populatebean(abstractautowirecapablebeanfactory.java:1106) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:517) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:456) @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:294) @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:225) @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:291) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:193) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.preinstantiatesingletons(defaultlistablebeanfactory.java:585) @ org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:913) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:464) @ org.springframework.web.servlet.frameworkservlet.configureandrefreshwebapplicationcontext(frameworkservlet.java:631) @ org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:588) @ org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:645) @ org.springframework.web.servlet.frameworkservlet.initwebapplicationcontext(frameworkservlet.java:508) @ org.springframework.web.servlet.frameworkservlet.initservletbean(frameworkservlet.java:449) @ org.springframework.web.servlet.httpservletbean.init(httpservletbean.java:133) @ javax.servlet.genericservlet.init(genericservlet.java:160) @ org.apache.catalina.core.standardwrapper.initservlet(standardwrapper.java:1189) @ org.apache.catalina.core.standardwrapper.loadservlet(standardwrapper.java:1103) @ org.apache.catalina.core.standardwrapper.load(standardwrapper.java:1010) @ org.apache.catalina.core.standardcontext.loadonstartup(standardcontext.java:4935) @ org.apache.catalina.core.standardcontext$3.call(standardcontext.java:5262) @ org.apache.catalina.core.standardcontext$3.call(standardcontext.java:5257) @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:303) @ java.util.concurrent.futuretask.run(futuretask.java:138) @ java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor.java:886) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:908) @ java.lang.thread.run(thread.java:662)
i'm not using spring , i'm using hibernate 4.1.8 , works adding hibernate.cfg.xml:
<property name="javax.persistence.validation.mode">none</property>
Comments
Post a Comment