| Hello! I am a non-hibernate user, really, just learning it for the first time.  It's version is 3.0.5 and it's running on JBoss 3.2.7.  I'm having problems with some code I'm trying to run.  The project is to create a login servlet, which runs a SQL query on Oracle 9i via Hibernate, to cross-reference whether the login information exists.  Only I'm getting an error when my Login servlet tries to call getNamedQuery("my query's name").  I'm thinking that I must have some kind of naming convention all wrong, but I can't figure it out.  It's that or my query string is wrong, but I thought I would get a different message than that it can't find the query?  These files look almost identical to my classmate's, so I'm lost.  Please help!  Thanks!
 
 The error I get:
 23:53:37,571 ERROR [Login] Error running Hibernate query
 org.hibernate.MappingException: Named query not known: java113.user.Login.FindUser
 at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1027)
 at java113.user.Login.doGet(Login.java:77)
 at java113.user.Login.doPost(Login.java:136)
 
 
 Code between sessionFactory.openSession() and session.close():
 hibSession = sessionFactory.openSession();
 logger.debug("Opening a hibernate session.");
 logger.debug("Can I print it?" + hibSession);
 
 //Begin a Hibernate transaction
 tx = hibSession.beginTransaction();
 logger.debug("Can I print the Transaction?" + tx.isActive());
 
 //bring in the email and password to validate
 email = req.getParameter("login");
 password = req.getParameter("password");
 logger.debug("does email have a value? " + email);
 
 //Get the query
 query = hibSession.getNamedQuery("java113.user.Login.FindUser").setString("login", email).setString("password", password);
 logger.debug("Made it past the getNamedQuery");
 
 //Perform the query
 results = query.list();
 
 //Is the user Valid or Invalid?
 UserStatus messages = new UserStatus();
 if(results.size() > 0) {
 url = "/main.jsp";
 session.setAttribute("user", results.get(0));
 messages.setIsValid(true);
 session.setAttribute("messages", messages);
 }
 else {
 url = "/index.jsp";
 messages.setIsValid(false);
 session.setAttribute("messages", messages);
 }
 
 }
 catch (org.hibernate.HibernateException he) {
 logger.error("Error running Hibernate query", he);
 }
 finally {
 try {
 if (tx != null) {
 //Commite the transaction
 tx.commit();
 }
 
 if (hibSession != null) {
 //Close the Hibernate session
 hibSession.close();
 
 My User.hbm.xml file:
 <?xml version="1.0"?>
 
 <!DOCTYPE hibernate-mapping PUBLIC
 "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
 
 <hibernate-mapping>
 <class
 name="java113.user.User"
 table="USERS"
 schema="cmorgan"
 dynamic-update="false"
 dynamic-insert="false"
 >
 
 <id
 name="id"
 column="USER_ID"
 type="java.lang.Integer"
 >
 <generator class="native">
 </generator>
 </id>
 
 <property
 name="userName"
 type="java.lang.String"
 update="true"
 insert="true"
 access="property"
 column="USERNAME"
 />
 
 <property
 name="password"
 type="java.lang.String"
 update="true"
 insert="true"
 access="property"
 column="PASSWORD"
 />
 
 <property
 name="email"
 type="java.lang.String"
 update="true"
 insert="true"
 access="property"
 column="EMAIL"
 />
 
 <property
 name="userType"
 type="java.lang.String"
 update="true"
 insert="true"
 access="property"
 column="USER_TYPE"
 />
 
 <property
 name="dateCreated"
 type="java.util.Date"
 update="true"
 insert="true"
 access="property"
 column="DATE_CREATED"
 />
 
 </class>
 
 <query name="java113.user.Login.FindUser">
 from User as thisUser where thisUser.email = :login AND thisUser.password = :password
 </query>
 
 </hibernate-mapping>
 
 My User.java object
 package java113.user;
 
 import java.io.Serializable;
 import java.util.*;
 
 /**
 *  This class is used for validating Users as they login.
 *
 *@author    crmorgan
 */
 public class User implements Serializable {
 
 private  Integer  	id;
 private  String   	userName;
 private  String   	password;
 private  String		email;
 private  String		userType;
 private  Date		dateCreated;
 
 public Date getDateCreated() {
 return dateCreated;
 }
 
 
 public void setDateCreated(Date dateCreated) {
 this.dateCreated = dateCreated;
 }
 
 
 public String getEmail() {
 return email;
 }
 
 
 public void setEmail(String email) {
 this.email = email;
 }
 
 
 public Integer getId() {
 return id;
 }
 
 
 public void setId(Integer id) {
 this.id = id;
 }
 
 
 public String getPassword() {
 return password;
 }
 
 
 public void setPassword(String password) {
 this.password = password;
 }
 
 
 public String getUserName() {
 return userName;
 }
 
 
 public void setUserName(String userName) {
 this.userName = userName;
 }
 
 
 public String getUserType() {
 return userType;
 }
 
 
 public void setUserType(String userType) {
 this.userType = userType;
 }
 
 public String toString() {
 StringBuffer  sb  = new StringBuffer("Login:");
 sb.append("id=").append(id);
 sb.append(",userName=").append(userName);
 sb.append(",password=").append(password);
 sb.append(",email=").append(email);
 sb.append(",userType=").append(userType);
 sb.append(",dateCreated=").append(dateCreated);
 return sb.toString();
 }
 }
 
 
 |