我正在开发我的第一个 web 应用程序,我将使用 hibernate。
我有 :
- 休眠 3.2.5
- JSF 2.1
- Netbeans 7.2 Rc1
我想要做的是,在我的 web 应用程序中有一个表单,用户将在其中输入他们的凭据,然后我会将它们与我在数据库中的内容进行匹配。
第一步是获取信息,尽管 JSF ==> 工作正常。下一步是查询数据库以检查我有这个用户并且密码是否正确。
对于第二步,我有一个问题。
这是我正在调用的代码:
public String checkUser() {
/** 1° Query the database for active users with specified name. */
session = helper.getSessionFactory().openSession();
PAC_USERS queryUsr = new PAC_USERS();
session.load(PAC_USERS.class, queryUsr);
session.beginTransaction();
queryUsr.setName(this.name);
this.user = (PAC_USERS) session.get(PAC_USERS.class, queryUsr);
session.close();
return null;
/** 2° verify password against the one stored in the DB. */
}
这是休眠映射文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class catalog="pac" name="com.a3c.pac.jsf.beans.PAC_USERS" table="pac_users">
<id column="id" name="id" type="integer">
<generator class="identity"/>
</id>
<property column="name" name="name" type="string"/>
<property column="password" name="password" type="string"/>
</class>
</hibernate-mapping>
这是我的表的 SQL 语句:
CREATE TABLE `pac_users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL,
`password` varchar(45) NOT NULL,
`active` int(11) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1$$
我想要的是在 PAC_USERS 表中查询具有通过网页提供的名称的记录。
PAC_USERS.java 类也可能有帮助,这里是:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.a3c.pac.jsf.beans;
import java.io.Serializable;
/**
*
* @author Utilisateurs
*/
public class PAC_USERS implements Serializable {
private Integer id;
private String name;
private String password;
private Boolean active = false;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Boolean getActive() {
return active;
}
public void setActive(Boolean active) {
this.active = active;
}
}
任何建议将不胜感激。
提前致谢。
保重,马可。