Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java org.hibernate.MappingException:未知实体-根本原因是什么?_Java_Hibernate - Fatal编程技术网

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

Java org.hibernate.MappingException:未知实体-根本原因是什么?,java,hibernate,Java,Hibernate,我刚开始冬眠。我遵循一个教程,并试图执行一个简单的代码,但我得到下面的错误 org.hibernate.MappingException: Unknown entity: 我使用的注释和配置文件也完全符合教程的要求。我在谷歌上搜索过,但没有得到正确答案 这是我的密码 package org.anne; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transac

我刚开始冬眠。我遵循一个教程,并试图执行一个简单的代码,但我得到下面的错误

org.hibernate.MappingException: Unknown entity: 
我使用的注释和配置文件也完全符合教程的要求。我在谷歌上搜索过,但没有得到正确答案

这是我的密码

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>
package org.anne;
导入org.hibernate.Session;
导入org.hibernate.SessionFactory;
导入org.hibernate.Transaction;
公开课演示{
公共静态void main(字符串[]args){
纸张p=新纸张();
p、 setPname(“印度”);
SessionFactory sf=HibernateUtil.getSessionFactory();
Session ses=sf.openSession();
事务tr=ses.beginTransaction();
ses.save(p);
tr.commit();
ses.close();
sf.close();
}
}
包org.anne;
导入org.hibernate.SessionFactory;
导入org.hibernate.boot.registry.StandardServiceRegistry;
导入org.hibernate.boot.registry.StandardServiceRegistryBuilder;
导入org.hibernate.cfg.Configuration;
公共类HibernateUtil{
静态会话工厂sf;
公共静态SessionFactory getSessionFactory()
{
配置cf=新配置();
cf.configure(“hibernate.cfg.xml”);
StandardServiceRegistryBuilder srv=新的StandardServiceRegistryBuilder();
StandardServiceRegistry sr=srv.applySettings(cf.getProperties()).build();
sf=cf.buildSessionFactory(sr);
返回sf;
}
}
包org.anne;
导入javax.persistence.Column;
导入javax.persistence.Entity;
导入javax.persistence.GeneratedValue;
导入javax.persistence.GenerationType;
导入javax.persistence.Id;
导入javax.persistence.Table;
@实体
@表(name=“纸张”)
公开课论文{
int-pid;
字符串pname;
@身份证
@列(name=“PID”)
@GeneratedValue(策略=GenerationType.AUTO)
公共int getPid(){
返回pid;
}
公共无效设置pid(内部pid){
this.pid=pid;
}
@列(name=“PNAME”)
公共字符串getPname(){
返回pname;
}
公共void setPname(字符串pname){
this.pname=pname;
}
}
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/test
根
abc123
org.hibernate.dialogue.mysql5dialogue
真的

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

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();
    }
}
更多