hibernate - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax -
i working on hibernate jpa project , i'm facing above mentioned exception, it's telling sql syntax not i'm pretty sure of hibernate configuration mysql database, can me figure out what's problem please ? here code:
usershome.java
public class usershome { private static final log log = logfactory.getlog(usershome.class); @persistencecontext(unitname = "saddem") entitymanagerfactory emf = persistence.createentitymanagerfactory("saddem"); private entitymanager entitymanager = emf.createentitymanager(); public void persist(users transientinstance) { log.debug("persisting users instance"); try { entitymanager.persist(transientinstance); log.debug("persist successful"); } catch (runtimeexception re) { log.error("persist failed", re); throw re; } } public void remove(users persistentinstance) { log.debug("removing users instance"); try { entitymanager.remove(persistentinstance); log.debug("remove successful"); } catch (runtimeexception re) { log.error("remove failed", re); throw re; } } public users merge(users detachedinstance) { log.debug("merging users instance"); try { users result = entitymanager.merge(detachedinstance); log.debug("merge successful"); return result; } catch (runtimeexception re) { log.error("merge failed", re); throw re; } } public users findbyid(integer id) { log.debug("getting users instance id:" + id); try { users instance = entitymanager.find(users.class, id); log.debug("get successful"); return instance; } catch (runtimeexception re) { log.error("get failed", re); throw re; } // query query = entitymanager.createnamedquery("users.findbyid"); // query.setparameter("userid", id); // users us=(users) query.getsingleresult(); // return us; } public list<users> findall() { log.debug("getting user instances"); try { query query = entitymanager.createquery("select u users u"); list<users> userslist = (list<users>) query.getresultlist(); log.debug("findall successful"); return userslist; } catch (runtimeexception re) { log.error("findall failed", re); return new arraylist<users>(); } // query query = entitymanager.createnamedquery("users.findall"); // list<users> userslist = (list<users>) query.getresultlist(); // return userslist; } } users.java
@entity //@namedquery(name="users.findbyid",query="select u users u u.userid = :userid") //@namedquery(name="users.findall",query="select users u") @table(name = "users", catalog = "user") public class users implements java.io.serializable { private integer userid; private address address; private string username; private string password; private string firstname; private string lastname; private string email; public users() { } public users(address address, string username, string password, string firstname, string lastname, string email) { this.address = address; this.username = username; this.password = password; this.firstname = firstname; this.lastname = lastname; this.email = email; } @id @generatedvalue(strategy = identity) @column(name = "userid", unique = true, nullable = false) public integer getuserid() { return this.userid; } public void setuserid(integer userid) { this.userid = userid; } @manytoone(fetch = fetchtype.lazy) @joincolumn(name = "addressid") public address getaddress() { return this.address; } public void setaddress(address address) { this.address = address; } @column(name = "username") public string getusername() { return this.username; } public void setusername(string username) { this.username = username; } @column(name = "password", length = 64) public string getpassword() { return this.password; } public void setpassword(string password) { this.password = password; } @column(name = "firstname") public string getfirstname() { return this.firstname; } public void setfirstname(string firstname) { this.firstname = firstname; } @column(name = "lastname") public string getlastname() { return this.lastname; } public void setlastname(string lastname) { this.lastname = lastname; } @column(name = "email") public string getemail() { return this.email; } public void setemail(string email) { this.email = email; } /* (non-javadoc) * @see java.lang.object#tostring() */ @override public string tostring() { return "users [userid=" + userid + ", username=" + username + ", password=" + password + ", firstname=" + firstname + ", lastname=" + lastname + ", email=" + email + "]"; } /* (non-javadoc) * @see java.lang.object#hashcode() */ @override public int hashcode() { final int prime = 31; int result = 1; result = prime * result + ((address == null) ? 0 : address.hashcode()); result = prime * result + ((email == null) ? 0 : email.hashcode()); result = prime * result + ((firstname == null) ? 0 : firstname.hashcode()); result = prime * result + ((lastname == null) ? 0 : lastname.hashcode()); result = prime * result + ((password == null) ? 0 : password.hashcode()); result = prime * result + ((userid == null) ? 0 : userid.hashcode()); result = prime * result + ((username == null) ? 0 : username.hashcode()); return result; } /* (non-javadoc) * @see java.lang.object#equals(java.lang.object) */ @override public boolean equals(object obj) { if (this == obj) return true; if (obj == null) return false; if (getclass() != obj.getclass()) return false; users other = (users) obj; if (address == null) { if (other.address != null) return false; } else if (!address.equals(other.address)) return false; if (email == null) { if (other.email != null) return false; } else if (!email.equals(other.email)) return false; if (firstname == null) { if (other.firstname != null) return false; } else if (!firstname.equals(other.firstname)) return false; if (lastname == null) { if (other.lastname != null) return false; } else if (!lastname.equals(other.lastname)) return false; if (password == null) { if (other.password != null) return false; } else if (!password.equals(other.password)) return false; if (userid == null) { if (other.userid != null) return false; } else if (!userid.equals(other.userid)) return false; if (username == null) { if (other.username != null) return false; } else if (!username.equals(other.username)) return false; return true; } } maintest.java
public class maintest { /** * @param args */ public static void main(string[] args) { //todo auto-generated method stub usershome dao = new usershome() ; users = dao.findbyid(1); system.out.println("-livre :"+us.getfirstname()); } } ==> exception:
log4j:warn no appenders found logger (org.jboss.logging). log4j:warn please initialize log4j system properly. log4j:warn see http://logging.apache.org/log4j/1.2/faq.html#noconfig more info. hibernate: select users0_.userid userid1_1_0_, users0_.addressid addressi7_1_0_, users0_.email email2_1_0_, users0_.firstname firstnam3_1_0_, users0_.lastname lastname4_1_0_, users0_.password password5_1_0_, users0_.username username6_1_0_ user.user.users users0_ users0_.userid=? exception in thread "main" javax.persistence.persistenceexception: org.hibernate.exception.sqlgrammarexception: not extract resultset @ org.hibernate.jpa.spi.abstractentitymanagerimpl.convert(abstractentitymanagerimpl.java:1763) @ org.hibernate.jpa.spi.abstractentitymanagerimpl.convert(abstractentitymanagerimpl.java:1694) @ org.hibernate.jpa.spi.abstractentitymanagerimpl.find(abstractentitymanagerimpl.java:1141) @ org.hibernate.jpa.spi.abstractentitymanagerimpl.find(abstractentitymanagerimpl.java:1068) @ com.sad.db.dao.usershome.findbyid(usershome.java:72) @ com.sad.db.dao.maintest.main(maintest.java:21) caused by: org.hibernate.exception.sqlgrammarexception: not extract resultset @ org.hibernate.exception.internal.sqlexceptiontypedelegate.convert(sqlexceptiontypedelegate.java:80) @ org.hibernate.exception.internal.standardsqlexceptionconverter.convert(standardsqlexceptionconverter.java:49) @ org.hibernate.engine.jdbc.spi.sqlexceptionhelper.convert(sqlexceptionhelper.java:126) @ org.hibernate.engine.jdbc.spi.sqlexceptionhelper.convert(sqlexceptionhelper.java:112) @ org.hibernate.engine.jdbc.internal.resultsetreturnimpl.extract(resultsetreturnimpl.java:89) @ org.hibernate.loader.plan.exec.internal.abstractloadplanbasedloader.getresultset(abstractloadplanbasedloader.java:449) @ org.hibernate.loader.plan.exec.internal.abstractloadplanbasedloader.executequerystatement(abstractloadplanbasedloader.java:202) @ org.hibernate.loader.plan.exec.internal.abstractloadplanbasedloader.executeload(abstractloadplanbasedloader.java:137) @ org.hibernate.loader.plan.exec.internal.abstractloadplanbasedloader.executeload(abstractloadplanbasedloader.java:102) @ org.hibernate.loader.entity.plan.abstractloadplanbasedentityloader.load(abstractloadplanbasedentityloader.java:186) @ org.hibernate.persister.entity.abstractentitypersister.load(abstractentitypersister.java:4120) @ org.hibernate.event.internal.defaultloadeventlistener.loadfromdatasource(defaultloadeventlistener.java:502) @ org.hibernate.event.internal.defaultloadeventlistener.doload(defaultloadeventlistener.java:467) @ org.hibernate.event.internal.defaultloadeventlistener.load(defaultloadeventlistener.java:212) @ org.hibernate.event.internal.defaultloadeventlistener.proxyorload(defaultloadeventlistener.java:274) @ org.hibernate.event.internal.defaultloadeventlistener.onload(defaultloadeventlistener.java:150) @ org.hibernate.internal.sessionimpl.fireload(sessionimpl.java:1066) @ org.hibernate.internal.sessionimpl.access$2000(sessionimpl.java:176) @ org.hibernate.internal.sessionimpl$identifierloadaccessimpl.load(sessionimpl.java:2540) @ org.hibernate.internal.sessionimpl.get(sessionimpl.java:951) @ org.hibernate.jpa.spi.abstractentitymanagerimpl.find(abstractentitymanagerimpl.java:1110) ... 3 more caused by: com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception: have error in sql syntax; check manual corresponds mysql server version right syntax use near '.users users0_ users0_.userid=1' @ line 1 @ 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:525) @ com.mysql.jdbc.util.handlenewinstance(util.java:411) @ com.mysql.jdbc.util.getinstance(util.java:386) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1053) @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:4074) @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:4006) @ com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:2468) @ com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2629) @ com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2719) @ com.mysql.jdbc.preparedstatement.executeinternal(preparedstatement.java:2155) @ com.mysql.jdbc.preparedstatement.executequery(preparedstatement.java:2318) @ org.hibernate.engine.jdbc.internal.resultsetreturnimpl.extract(resultsetreturnimpl.java:80) ... 19 more
Comments
Post a Comment