【发布时间】:2014-08-25 14:31:15
【问题描述】:
我正在尝试构建这个简单的项目,但我不断收到同样的错误。谁能帮忙解决一下?
HibernateTest.java
public class HibernateTest
{
public static void main(String[] args)
{
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
UserDetails user = new UserDetails();
Query query = session.getNamedQuery("findById");
List<?> list = query.list();
if (!list.isEmpty())
{ UserDetails userD = (UserDetails) list.get(0);
System.out.println(userD); }
}
}
UserDetails.java
package com;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
@Entity
@Table (name="UserDetails")
@NamedQuery(
name = "findById",
query = "SELECT x FROM UserDetails x WHERE x.id = '3'")
public class UserDetails
{
@Id
@Column(name="UserID")
private int id;
@Column(name="UserName")
private String name;
public void setId(int id)
{ this.id = id; }
public int getId()
{ return id; }
public void setName(String name)
{ this.name = name; }
public String getName()
{ return name; }
}
我不确定出了什么问题,因为我在不同的项目中运行了相同的查询并且它运行良好。
【问题讨论】:
-
您是否已验证您的 Hibernate 配置知道
UserDetails类? -
我的 hibernate.cfg.xml 中有这个
-
所以...您使用的是 XML 映射而不是注释驱动的映射?!那么命名查询是否存在于您的
userdetails.hbm.xml中? -
我没有。我怎么把它放进去?
标签: java hibernate named-query