Hibernate - 将表映射到Entity类不起作用:QuerySyntaxException:未映射类

时间:2015-11-06 16:19:59

标签: java mysql hibernate jpa

我检查过很多线程,但没有解决方案正在运行。根据这些线程,映射应该有效。

  

线程“main”中的异常   org.hibernate.hql.internal.ast.QuerySyntaxException:产品不是   映射[来自产品]

的hibernate.cfg.xml

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        ...
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.current_session_context_class">thread</property>

        <mapping class="api.test.model.Product" />
    </session-factory>
 </hibernate-configuration>

Product.java:

 package api.test.model;
 import java.io.Serializable;
 import javax.persistence.Entity;
 import javax.persistence.Table;

 @Entity
 @Table(name="products")
 public class Product implements Serializable{
 ...
 }

道:

 public List<Product> getProduct(Integer id) {
     List<Product> products = (List<Product>) openCurrentSessionwithTransaction()
     .createQuery("from Product").setMaxResults(100).list();

     return products;
 }

这不会引发错误,但不会产生任何结果:

 .createQuery("from " + Product.class.getName()).setMaxResults(100).list();

我也尝试在persistence.xml中映射该类,但也不起作用:

 <persistence-unit name="transactions-optional">
    <class>api.test.model.Product</class>

Full stacktrace as requested

提前致谢。

0 个答案:

没有答案