首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >org.hibernate.MappingException:未知实体-根本原因是什么?

org.hibernate.MappingException:未知实体-根本原因是什么?
EN

Stack Overflow用户
提问于 2016-02-17 18:49:36
回答 1查看 188关注 0票数 0

我对hibernate还不熟悉。我正在遵循一个教程,并试图执行一个简单的代码,但我得到了下面的错误。

代码语言:javascript
运行
复制
org.hibernate.MappingException: Unknown entity: 

我使用的注释和配置文件也完全按照教程做的。我用谷歌搜索了一下,但没有得到正确的答案

这是我的代码

代码语言:javascript
运行
复制
package org.anne;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

public class Demo {

    public static void main(String[] args) {


        Paper p = new Paper();
        p.setPname("indu");

        SessionFactory sf = HibernateUtil.getSessionFactory();
        Session ses = sf.openSession();
        Transaction tr = ses.beginTransaction();
        ses.save(p);
        tr.commit();
        ses.close();
        sf.close();

    }

}

package org.anne;

import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {

    static SessionFactory sf;
    public static SessionFactory getSessionFactory()
    {
        Configuration cf = new Configuration();
        cf.configure("hibernate.cfg.xml");
        StandardServiceRegistryBuilder srv = new StandardServiceRegistryBuilder();
        StandardServiceRegistry sr = srv.applySettings(cf.getProperties()).build();
        sf = cf.buildSessionFactory(sr);
        return sf;


    }

}
package org.anne;

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

@Entity
@Table(name = "PAPER")
public class Paper {

    int pid;
    String pname;

    @Id
    @Column(name = "PID")
    @GeneratedValue(strategy = GenerationType.AUTO)
    public int getPid() {
        return pid;
    }
    public void setPid(int pid) {
        this.pid = pid;
    }
    @Column(name = "PNAME")
    public String getPname() {
        return pname;
    }
    public void setPname(String pname) {
        this.pname = pname;
    }



}

<?xml version="1.0"?>
<!DOCTYPE hibernate-configuration SYSTEM "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd" >


<hibernate-configuration>
    <session-factory>
        <property name = "connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name = "connection.url">jdbc:mysql://localhost:3306/test</property>
        <property name = "connection.username">root</property>
        <property name = "connection.password">abc123</property>
        <property name = "hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <property name = "hibernate.show_sql">true</property>


        <mapping class = "org.anne.Paper" />

    </session-factory>
</hibernate-configuration>
EN

Stack Overflow用户

发布于 2016-02-17 19:13:17

如果您自己启动Hibernate,请确保使用AnnotationConfiguration类而不是Configuration类。下面是一个使用(传统) HibernateUtil方法的示例:

代码语言:javascript
运行
复制
package hello;

import org.hibernate.*;
import org.hibernate.cfg.*;
import test.*;
import test.animals.Dog;

public class HibernateUtil {

private static final SessionFactory sessionFactory;
    static {
        try {
            sessionFactory = new AnnotationConfiguration()
                    .configure().buildSessionFactory();
        } catch (Throwable ex) {
            // Log exception!
            throw new ExceptionInInitializerError(ex);
        }
    }

    public static Session getSession()
            throws HibernateException {
        return sessionFactory.openSession();
    }
}

更多信息请点击此处https://docs.jboss.org/hibernate/stable/annotations/reference/en/html/ch01.html#setup-configuration

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35454521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档