Wednesday 15 August 2012

sql server - org.hibernate.exception.ConstraintViolationException: could not insert: [com.app.core.Users] -



sql server - org.hibernate.exception.ConstraintViolationException: could not insert: [com.app.core.Users] -

hi trying insert record getting below exceptions:

info: uderid:::: 3 info: hibernate: insert users (role, department, loginid, permission, admin_power) values (?, ?, ?, ?, ?) severe: org.hibernate.exception.constraintviolationexception: not insert: [com.app.core.users] @ org.hibernate.exception.sqlstateconverter.convert(sqlstateconverter.java:71) @ org.hibernate.exception.jdbcexceptionhelper.convert(jdbcexceptionhelper.java:43) @ org.hibernate.id.insert.abstractreturningdelegate.performinsert(abstractreturningdelegate.java:40) @ org.hibernate.persister.entity.abstractentitypersister.insert(abstractentitypersister.java:2158) @ org.hibernate.persister.entity.abstractentitypersister.insert(abstractentitypersister.java:2638) @ org.hibernate.action.entityidentityinsertaction.execute(entityidentityinsertaction.java:48) @ org.hibernate.engine.actionqueue.execute(actionqueue.java:250) @ org.hibernate.event.def.abstractsaveeventlistener.performsaveorreplicate(abstractsaveeventlistener.java:298) @ org.hibernate.event.def.abstractsaveeventlistener.performsave(abstractsaveeventlistener.java:181) @ org.hibernate.event.def.abstractsaveeventlistener.savewithgeneratedid(abstractsaveeventlistener.java:107) @ org.hibernate.event.def.defaultsaveorupdateeventlistener.savewithgeneratedorrequestedid(defaultsaveorupdateeventlistener.java:187) @ org.hibernate.event.def.defaultsaveeventlistener.savewithgeneratedorrequestedid(defaultsaveeventlistener.java:33) @ org.hibernate.event.def.defaultsaveorupdateeventlistener.entityistransient(defaultsaveorupdateeventlistener.java:172) @ org.hibernate.event.def.defaultsaveeventlistener.performsaveorupdate(defaultsaveeventlistener.java:27) @ org.hibernate.event.def.defaultsaveorupdateeventlistener.onsaveorupdate(defaultsaveorupdateeventlistener.java:70) @ org.hibernate.impl.sessionimpl.firesave(sessionimpl.java:535) @ org.hibernate.impl.sessionimpl.save(sessionimpl.java:523) @ org.hibernate.impl.sessionimpl.save(sessionimpl.java:519) @ com.app.daoimpl.userdaoimpl.save(userdaoimpl.java:36) @ com.app.core.usersbean.execute(usersbean.java:249) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25) @ java.lang.reflect.method.invoke(method.java:597) @ com.opensymphony.xwork2.defaultactioninvocation.invokeaction(defaultactioninvocation.java:453) @ com.opensymphony.xwork2.defaultactioninvocation.invokeactiononly(defaultactioninvocation.java:292) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:255) @ org.apache.struts2.interceptor.debugging.debugginginterceptor.intercept(debugginginterceptor.java:256) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.interceptor.defaultworkflowinterceptor.dointercept(defaultworkflowinterceptor.java:176) @ com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.validator.validationinterceptor.dointercept(validationinterceptor.java:265) @ org.apache.struts2.interceptor.validation.annotationvalidationinterceptor.dointercept(annotationvalidationinterceptor.java:68) @ com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.interceptor.conversionerrorinterceptor.intercept(conversionerrorinterceptor.java:138) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.interceptor.parametersinterceptor.dointercept(parametersinterceptor.java:211) @ com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.interceptor.parametersinterceptor.dointercept(parametersinterceptor.java:211) @ com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.interceptor.staticparametersinterceptor.intercept(staticparametersinterceptor.java:190) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ org.apache.struts2.interceptor.multiselectinterceptor.intercept(multiselectinterceptor.java:75) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ org.apache.struts2.interceptor.checkboxinterceptor.intercept(checkboxinterceptor.java:90) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ org.apache.struts2.interceptor.fileuploadinterceptor.intercept(fileuploadinterceptor.java:243) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.interceptor.modeldriveninterceptor.intercept(modeldriveninterceptor.java:100) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.interceptor.scopedmodeldriveninterceptor.intercept(scopedmodeldriveninterceptor.java:141) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.interceptor.chaininginterceptor.intercept(chaininginterceptor.java:145) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.interceptor.prepareinterceptor.dointercept(prepareinterceptor.java:171) @ com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.interceptor.i18ninterceptor.intercept(i18ninterceptor.java:176) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ org.apache.struts2.interceptor.servletconfiginterceptor.intercept(servletconfiginterceptor.java:164) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.interceptor.aliasinterceptor.intercept(aliasinterceptor.java:192) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ com.opensymphony.xwork2.interceptor.exceptionmappinginterceptor.intercept(exceptionmappinginterceptor.java:187) @ com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:249) @ org.apache.struts2.impl.strutsactionproxy.execute(strutsactionproxy.java:54) @ org.apache.struts2.dispatcher.dispatcher.serviceaction(dispatcher.java:511) @ org.apache.struts2.dispatcher.filterdispatcher.dofilter(filterdispatcher.java:432) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:256) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:217) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:279) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:175) @ org.apache.catalina.core.standardpipeline.doinvoke(standardpipeline.java:655) @ org.apache.catalina.core.standardpipeline.invoke(standardpipeline.java:595) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:161) @ org.apache.catalina.connector.coyoteadapter.doservice(coyoteadapter.java:331) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:231) @ com.sun.enterprise.v3.services.impl.containermapper$adaptercallable.call(containermapper.java:317) @ com.sun.enterprise.v3.services.impl.containermapper.service(containermapper.java:195) @ com.sun.grizzly.http.processortask.invokeadapter(processortask.java:860) @ com.sun.grizzly.http.processortask. severe: doprocess(processortask.java:757) @ com.sun.grizzly.http.processortask.process(processortask.java:1056) @ com.sun.grizzly.http.defaultprotocolfilter.execute(defaultprotocolfilter.java:229) @ com.sun.grizzly.defaultprotocolchain.executeprotocolfilter(defaultprotocolchain.java:137) @ com.sun.grizzly.defaultprotocolchain.execute(defaultprotocolchain.java:104) @ com.sun.grizzly.defaultprotocolchain.execute(defaultprotocolchain.java:90) @ com.sun.grizzly.http.httpprotocolchain.execute(httpprotocolchain.java:79) @ com.sun.grizzly.protocolchaincontexttask.docall(protocolchaincontexttask.java:54) @ com.sun.grizzly.selectionkeycontexttask.call(selectionkeycontexttask.java:59) @ com.sun.grizzly.contexttask.run(contexttask.java:71) @ com.sun.grizzly.util.abstractthreadpool$worker.dowork(abstractthreadpool.java:532) @ com.sun.grizzly.util.abstractthreadpool$worker.run(abstractthreadpool.java:513) @ java.lang.thread.run(thread.java:662) caused by: com.microsoft.sqlserver.jdbc.sqlserverexception: cannot insert value null column 'id', table 'antrixedms.dbo.users'; column not allow nulls. insert fails.

please help me on this. in anticipation...

my userbean:

userdao userdao= userdaofactory.create(); users u=new users(); int id = userdao.getmaxuserid(); system.out.println("getmaxuserid:: "+id); roledao roledao= roledaofactory.create(); role r=roledao.getrole(this.role); u.setid(id+1); u.setrole(r); departmentdao departmentdao= departmentdaofactory.create(); section d=departmentdao.getdepartment(this.department); u.setdepartment(d); u.setloginid(this.loginid); u.setpermission(users.active); u.setadminpower(this.adminpower); userinfo ui=new userinfo(); ui.setid(id+1); ui.setuserid(this.userid); ui.setfirstname(this.firstname); ui.setlastname(this.lastname); ui.setaddress(this.address); ui.setemail(this.email); if(!this.mobile.equals("")){ this.mobile=this.countrycodemob + "-" + this.mobile; } ui.setmobile(this.mobile); this.telephone=this.countrycodetel + "-" + this.telephone; ui.settelephone(this.telephone); if(!this.fax.equals("")){ this.fax=this.countrycodefax + "-" + this.fax; } ui.setfax(this.fax); ui.setuserid(this.userid); citydao citydao= citydaofactory.create(); ui.setcity(citydao.getcity(this.city)); u.setuserinfo(ui); ui.setuser(u); try{ userdao.save(u); new activitylog(getuser(integer.parseint(this.usid)).getloginid() , "user creation :" +this.loginid, activitylog.success,activitylog.admin).writelog(); jobj.addproperty("result", "success"); }catch(exception e){ new activitylog(getuser(integer.parseint(this.usid)).getloginid() , "user creation :"+this.loginid, activitylog.failed,activitylog.admin).writelog(); jobj.addproperty("result", "failed"); e.printstacktrace(); } //new smtputil().sendmail("admin@takirasolutions.com", u.getloginid(), "user created", "login using ur email id , password"); }

my users entity:

public class users implements java.io.serializable { private integer id; private userinfo userinfo; private role role; private section department; private string loginid; private int permission; private int adminpower; public static final int admin=1; public static final int active=1; public static final int deactive=0; public static final int terminated=2; public static final int admin_power=1; public static final string document_root ="documents"; private set processdetatilsesforparentuserfk = new hashset(0); private set processdetatilses = new hashset(0); public static hashmap<integer,string> status=new hashmap<integer,string>(); static{ status.put(0,"deactive"); status.put(1,"active"); status.put(2,"terminated"); } public users() { } public users(userinfo userinfo, role role, section department, string loginid) { this.userinfo = userinfo; this.role = role; this.department = department; this.loginid = loginid; }

.. getters & setters....

my users.hbm.xml:

<?xml version="1.0"?> <!doctype hibernate-mapping public "-//hibernate/hibernate mapping dtd 3.0//en" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- generated 22 aug, 2013 11:06:12 hibernate tools 3.2.1.ga --> <hibernate-mapping> <class name="com.app.core.users" table="users"> <id name="id" type="java.lang.integer"> <column name="id" /> <generator class="identity" /> </id> <one-to-one name="userinfo" class="com.app.core.userinfo" cascade="all"> </one-to-one> <many-to-one name="role" class="com.app.core.role" fetch="select" lazy="false"> <column name="role" not-null="true" /> </many-to-one> <many-to-one name="department" class="com.app.core.department" fetch="select" lazy="false" not-found="ignore"> <column name="department" not-null="true" /> </many-to-one> <property name="loginid" type="string"> <column name="loginid" length="64" not-null="true" unique="true" /> </property> <property name="permission" type="int"> <column name="permission" length="1" not-null="true" default="1"/> </property> <property name="adminpower" type="int"> <column name="admin_power" length="1" not-null="true" default="0"/> </property> <!--<set name="processdetatilses" table="process_detatils" inverse="true" lazy="false" fetch="select"> <key> <column name="fk_user" not-null="false" /> </key> <one-to-many class="com.app.core.processdetatils" /> </set>--> <set name="processdetatilsesforparentuserfk" table="process_detatils" inverse="true" lazy="true" fetch="select"> <key> <column name="parent_userfk" not-null="true" /> </key> <one-to-many class="com.app.core.processdetatils" /> </set> <set name="processdetatilses" table="process_detatils" inverse="true" lazy="false" fetch="select"> <key> <column name="fk_user" not-null="true" /> </key> <one-to-many class="com.app.core.processdetatils" /> </set> </class> </hibernate-mapping>

plesse help me..

here have configured id property of users entity class auto generated value

<id name="id" type="java.lang.integer"> <column name="id" /> <generator class="identity" /> </id>

but setting value property id as

int id = userdao.getmaxuserid(); u.setid(id+1);

so remove above 2 lines of code in programme avoid constraint violation exception.

sql-server hibernate

No comments:

Post a Comment