5

Hibernate 4.0 では、使用してテーブルからレコードを取得したいのですsession.createQuery("from dbemployee").list(); が、Hibernate は例外を示しています:

Hibernate Exception: org.hibernate.hql.internal.ast.QuerySyntaxException: dbemployee がマップされていません [from dbemployee]**

私のPOJOクラスは従業員です

public class Employee implements Serializable {

private static final long serialVersionUID = 1L;
private String empId;
private String empName;
private long empSalary;

public Employee() {
    super();
}

// getters and setters

}

dbemployeeOracle 11g の私のテーブルは次のとおりです。

dbemployee:
EMPID varchar2(20)
EMPNAME varchar2(20)
EMPSALARY number(11);

Employee.hbm.xml は

<hibernate-mapping>
  <class name="beanclass.Employee" table="dbemployee">

  <id name="empId" type="java.lang.String" column="EMPID">
  <generator class="assigned"></generator>
   </id>
   <property name="empName"  column="EMPNAME"  type="java.lang.String"/>
   <property  name="empSalary" column="EMPSALARY" type="java.lang.Long" />
  </class>

  </hibernate-mapping>

この例外を解決するのを手伝ってください。前もって感謝します

4

2 に答える 2

4

クエリは次のようになります。

 session.createQuery("from Employee").list();

テーブル名ではなく、クエリでクラス名を使用する必要があります。

于 2012-12-19T14:25:47.383 に答える
3

次のようにクエリを実行します

 session.createQuery("from Employee").list();

また

session.createQuery("from beanclass.Employee").list();

HibernateやJPAなどのORMでは、ネイティブクエリを処理しない場合は、クエリでオブジェクト/クラス名を使用する必要があります。

于 2012-12-19T14:31:42.620 に答える