我需要帮助,我得到了前面提到的异常。我哪里出错了?在从类到表的Map中,我使用了以下代码:
private String userId;
private String password;
下面是我编写查询的类。
public class LoginManager extends HibernateUtil {
private String loginId;
public String checkCredentials(String userId, String password) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
try {
loginId = (String) session.createQuery("select user_id from com.project.model.Login where user_id=:userId and password=:password")
.setParameter("userId",userId)
.setParameter("password", password)
.list().toString();
} catch (HibernateException e) {
e.printStackTrace();
session.getTransaction().rollback();
}
session.getTransaction().commit();
return loginId;
}
}
实体
@Entity
@Table(name = "Login")
public class Login implements Serializable {
private static final long serialVersionUID = 2L;
private String userId;
private String password;
@Id
@Column(name = "user_id")
public String getUserId() {
return userId;
}
public void setUser_id(String userId) {
this.userId = userId;
}
@Column(name = "password")
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
3条答案
按热度按时间cclgggtu1#
问题是Hibernate找不到字段userId的setter,您的定义如下:
它应该是:
3bygqnnd2#
Hibernate通过变量名Map数据库。
但在你的查询中
您需要使用
userId
,而不是user_id
。异常明确指出您提供了错误的参数。
zbq4xfa03#
检查是否为排印错误