【问题标题】:SEVERE: org.hibernate.MappingException: Named query not known:严重:org.hibernate.MappingException:命名查询未知:
【发布时间】:2012-12-10 16:07:43
【问题描述】:

在我的实体类中,我有以下内容,调用一个返回 sys_refcursor 的 oracle 函数

    @Entity
    @javax.persistence.NamedNativeQuery(name = "getEmp", 
    query = "{ ? = call getemployees }", resultClass = Employees.class, hints = {
    @javax.persistence.QueryHint(name = "org.hibernate.callable", value = "true") })
    @Table(name = "EMPLOYEES")
    public class Employees {

在DAO中我有

@Inject
    private SessionFactory sessionFactory;

    @Override
    public List<Employees> getEmployees() {

        List query = new ArrayList<Employees>();
         try{
         query = sessionFactory.getCurrentSession()
                .getNamedQuery("getEmp").list();
         }
         catch(Exception e){
             System.out.println("exception "+e.getMessage());
             e.printStackTrace();
         }
        return query;
    }

但是当我运行我的应用程序时,我得到了以下异常

异常命名查询未知:getEmp 严重:org.hibernate.MappingException:命名查询未知:getEmp 在 org.hibernate.internal.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:149) 在 org.hibernate.internal.SessionImpl.getNamedQuery(SessionImpl.java:1257) 在 net.test.employees.dao.EmployeesDAO.getEmployees(EmployeesDAO.java:34) 在 net.test.employees.service.EmployeesService.getEmployees(EmployeesService.java:24)

我该如何解决这个问题?任何帮助都是非常可观的。

【问题讨论】:

    标签: java spring hibernate


    【解决方案1】:

    我已通过在 applicationContext.xml 中添加以下内容解决了该问题。

    <property name="annotatedClasses">  
              <list>
               <value>net.test.model.Employees</value>
               </list>  
               </property>
    

    【讨论】:

      猜你喜欢
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多