【问题标题】:Java - Hibernate Exception - Feedback cannot be mapped [ from Feedback ]Java - 休眠异常 - 无法映射反馈 [来自反馈]
【发布时间】:2012-08-27 07:43:42
【问题描述】:

我是 Hibernate 的新手。最近,我正在尝试使用 Spring 和 Hibernate 将我的 UI 与数据库连接起来的简单示例。

我能够使用 REST 成功调用一个方法,通过我的控制器、服务等获取数据。 但是每当我运行应用程序时,我都会遇到以下错误。 这里的“Feedback”是数据库中表的名称,也是我的 Pojo Java 类的同名。

注意:为表和 Java 类指定不同的名称也会导致相同的错误。

org.springframework.orm.hibernate3.HibernateQueryException:反馈 未映射 [来自反馈];嵌套异常是 org.hibernate.hql.ast.QuerySyntaxException:反馈未映射 [来自反馈]

Java Pojo:-

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="Feedback")
public class Feedback {
    private int id;
    private String title;
    private String content;
    private String name;

    @Id
    @GeneratedValue
    @Column(name="id")
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }

    @Column(name="title", nullable=false)
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }

    @Column(name="content", nullable=false)
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }

    @Column(name="name", nullable=false)
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "Feedback [id=" + id + ", title=" + title + ", content="
                + content + ", name=" + name + "]";
    }
}

反馈DAO:-

@Repository
public class FeedbackDAO implements IFeedbackDAO {

    private HibernateTemplate hibernateTemplate;

    public HibernateTemplate getHibernateTemplate() {
        return hibernateTemplate;
    }

    @Autowired
    public void setSessionFactory(SessionFactory sessionFactory) {
        hibernateTemplate = new HibernateTemplate(sessionFactory);
    }

    @SuppressWarnings("unchecked")
    public List<Feedback> getFeedbackList() {

       // This line causes that error.
        return hibernateTemplate.find("from Feedback");

    }
       ...
       ...
}

db-config.xml中进行的配置

 <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory"><ref local="sessionFactory"/></property>
    </bean>

这可能是什么原因?

我是不是错过了什么?

谢谢

【问题讨论】:

  • 如果您需要更多详细信息,请告诉我。

标签: java sql spring hibernate sybase


【解决方案1】:

你可能错过了 sessionFactory 定义中的一件事。

<bean id="sessionFactory" ...>
    ...
    <property name="annotatedClasses">
        <list>
            <value><java package name here>.Feedback</value>
        </list>
    </property>
    ...
</bean>

【讨论】:

  • 就是这样!我继续在这里提到其他一些包目录..谢谢!解决了它..
  • 没问题。我过去曾经遇到过同样的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-12
  • 1970-01-01
  • 2023-03-28
  • 2015-03-16
  • 2020-11-07
  • 2016-02-05
相关资源
最近更新 更多