Note that there are some explanatory texts on larger screens.

plurals
  1. POHibernate : can't resolve property username
    text
    copied!<p>User.hbm.xml</p> <pre><code>&lt;hibernate-mapping&gt; &lt;class name="server.dao.domain.User" table="user" catalog="story_v1"&gt; &lt;id name="userId" type="java.lang.Long"&gt; &lt;column name="user_id" /&gt; &lt;generator class="identity" /&gt; &lt;/id&gt; &lt;property name="userName" type="string"&gt; &lt;column name="user_name" length="30" not-null="true" unique="true" /&gt; &lt;/property&gt; &lt;property name="password" type="string"&gt; &lt;column name="password" length="32" not-null="true" /&gt; &lt;/property&gt; &lt;/class&gt; </code></pre> <p></p> <p>User.java</p> <pre><code>public class User implements java.io.Serializable { private Long userId; private String userName; private String password; public User() { } public User(String userName, String password) { this.userName = userName; this.password = password; } public Long getUserId() { return this.userId; } public void setUserId(Long userId) { this.userId = userId; } public String getUserName() { return this.userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return this.password; } public void setPassword(String password) { this.password = password; } </code></pre> <p>}</p> <p>UserHome.java</p> <pre><code>public class UserHome { private static final Log log = LogFactory.getLog(UserHome.class); private final SessionFactory sessionFactory = getSessionFactory(); protected SessionFactory getSessionFactory() { return HibernateSessionFactory.getSessionFactory(); } public void createAccount(User entity) { Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); session.save(entity); session.getTransaction().commit(); } public void deleteAccount(User entity) { Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); entity = (User) session.get(User.class, entity.getUserId()); session.delete(entity); session.getTransaction().commit(); } public User findByName(String name) { Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); Criteria critera = session.createCriteria(User.class); critera.add( Restrictions.eq("userName", name) ); List&lt;User&gt; user = critera.list(); session.getTransaction().commit(); return (User) (user.size()==0 ? null : user.get(0) ); } public User findById(long id) { Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); User user = (User) session.get(User.class, id); session.getTransaction().commit(); return user; } </code></pre> <p>}</p> <p>in index.jsp: UserHome uh = new UserHome(); User usr = uh.findByName("handy");</p> <p>Error Message:</p> <pre><code>org.hibernate.QueryException: could not resolve property: username of: com.nokia.msn.sb.server.dao.domain.User at org.hibernate.persister.entity.AbstractPropertyMapping.throwPropertyException(AbstractPropertyMapping.java:43) at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:37) at org.hibernate.persister.entity.AbstractEntityPersister.getSubclassPropertyTableNumber(AbstractEntityPersister.java:1282) at org.hibernate.persister.entity.BasicEntityPropertyMapping.toColumns(BasicEntityPropertyMapping.java:31) at org.hibernate.persister.entity.AbstractEntityPersister.toColumns(AbstractEntityPersister.java:1257) at org.hibernate.loader.criteria.CriteriaQueryTranslator.getColumns(CriteriaQueryTranslator.java:409) at org.hibernate.loader.criteria.CriteriaQueryTranslator.getColumnsUsingProjection(CriteriaQueryTranslator.java:371) at org.hibernate.criterion.SimpleExpression.toSqlString(SimpleExpression.java:45) at org.hibernate.loader.criteria.CriteriaQueryTranslator.getWhereCondition(CriteriaQueryTranslator.java:316) at org.hibernate.loader.criteria.CriteriaJoinWalker.&lt;init&gt;(CriteriaJoinWalker.java:86) at org.hibernate.loader.criteria.CriteriaLoader.&lt;init&gt;(CriteriaLoader.java:67) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1473) at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:298) at com.nokia.msn.sb.server.dao.domain.UserHome.findByName(UserHome.java:59) at org.apache.jsp.index_jsp._jspService(index_jsp.java:70) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload