で私のプロジェクトの設定をという名前のパラメータを見つけることができませんでしたPostgreSQLのDB上のSpring MVC、Hibernateは4.3.8.Final、であり、次のエラー取得:のUserInfo でQueryParameterExceptionはなしエンティティ
org.hibernate.QueryParameterException: could not locate named parameter [username]
public UserInfo findUserInfo(String userName) {
String sql = "Select new " + UserInfo.class.getName() + "(u.username,u.password) "//
+ " from " + User.class.getName() + " u where u.username=(:username)";
Session session = sessionFactory.getCurrentSession();
Query query = session.createQuery(sql).setParameter("username", userName);
return (UserInfo) query.uniqueResult();
}
ですなしエンティティ:
public class UserInfo {
private String username;
private String password;
public UserInfo() {
}
public UserInfo(String username, String password) {
this.username = username;
this.password = password;
}
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;
}
}
ありがとうございました。しかし、UserInfoは通常のクラス(エンティティではない)であり、Userはテーブルのユーザにマッピングしているエンティティです。 –
@GiangPhanThanhGiangそれから 'String sql ="あなたのパッケージから新しい "+ UserInfo.class.getName()+"(u.username、u.password) " +"を選択してください。 + User.class.getName()+ "u u.username =:username"; ' – Mitchapp
ありがとうございました。私は自分の問題を見つけました。私はHibernateで自分のエンティティを宣言していないからです。 –