私は最初の webapp に取り組んでおり、休止状態を使用します。
私は持っている :
- 休止状態 3.2.5
- JSF2.1
- Netbeans 7.2 Rc1
私がやろうとしているのは、ユーザーが自分の資格情報を入力するフォームを webapp に用意し、DB にあるものと照合することです。
そのための最初のステップは、JSF ==> 正常に動作しますが、情報を取得することです。次のステップは、DB に照会して、このユーザーがあり、パスワードが正しいことを確認することです。
この 2 番目のステップでは、問題があります。
これが私が呼んでいるコードです:
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$$
私が欲しいのは、Web ページから提供された名前を持つレコードの 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;
}
}
アドバイスをいただければ幸いです。
前もって感謝します。
気をつけて、マルコ。