Java “线程中的异常”;“主要”;org.hibernate.MappingException:未知实体:org.hibernate.employee

Java “线程中的异常”;“主要”;org.hibernate.MappingException:未知实体:org.hibernate.employee,java,hibernate,Java,Hibernate,不知道怎么了。我得到的例外情况如下: org.hibernate.MappingException:未知实体:org.hibernate.employee 如何修复它?我创建了client.java。我创建了与客户端匹配的映射表。我已经创建了映射并添加了映射 hibernateutil.java编码 package org.hibernate.test.util; import org.hibernate.SessionFactory; import org.hibernate.boot.re

不知道怎么了。我得到的例外情况如下:

org.hibernate.MappingException:未知实体:org.hibernate.employee

如何修复它?我创建了client.java。我创建了与客户端匹配的映射表。我已经创建了映射并添加了映射

hibernateutil.java编码

package org.hibernate.test.util;

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


public class hibernateutil {
private static SessionFactory sessionfactory;

public static SessionFactory getSessionFactory(){
    if(sessionfactory == null){
        synchronized(hibernateutil.class){
            if(sessionfactory == null){
                try {
                    Configuration conf=new Configuration().configure();
                        StandardServiceRegistryBuilder builder= new StandardServiceRegistryBuilder()
                            .applySettings(conf.getProperties());
                    sessionfactory = conf.buildSessionFactory(builder.build());

                }catch (Throwable th){
                    th.printStackTrace();
                    throw new ExceptionInInitializerError();
                }
            }
            return sessionfactory;  
        }
    }

    else{
        return sessionfactory;  
    }
}
}
employee.java

package org.hibernate;
public class employee {

private int id;
private String firstname;
private String lastname;
private int salary;

public employee(){}

public employee(int id,String firstname,String lastname,int salary)
{
    this.id=id;
    this.firstname=firstname;
    this.lastname=lastname;
    this.salary=salary;
}
public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getFirstname() {
    return firstname;
}

public void setFirstname(String firstname) {
    this.firstname = firstname;
}

public String getLastname() {
    return lastname;
}

public void setLastname(String lastname) {
    this.lastname = lastname;
}

public int getSalary() {
    return salary;
}

public void setSalary(int salary) {
    this.salary = salary;
}

}
package learn;

import org.hibernate.Session;
import java.util.List;
import java.util.Date;
import java.util.Iterator; 
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.test.util.hibernateutil;
import org.hibernate.*;


 public class client {

 private static SessionFactory factory;

public static void main(String[] args) {

    factory = hibernateutil.getSessionFactory();

    client a = new client();
    // Add few employee records in data base
    a.addemployee(1,"Sai","Nathan",5000);
    a.addemployee(2,"Sai","kumar",6000);
    a.addemployee(3,"Santhosh","Kumar",9000);

    // List down all employees
    /*a.listemployee();

    // update employee's record
    a.updateemployee(1,20000);

    // Delete an employee
    a.deleteemployee(3);

    // List down all employees
    a.listemployee();*/
    System.out.println("Finished");
}

   /* Method to CREATE an employee in the database */

public Integer addemployee(int id, String fname,String lname,int salary)
{
    Session session= factory.openSession();
    Transaction tx=session.beginTransaction();
    employee e1= new employee(id,fname,lname,salary);
    Integer empid=(Integer)session.save(e1);
    tx.commit();
    session.close();
    return empid;

}
   /* Method to  READ all the employees */

   public void listemployee(){
        Session session = factory.openSession();
        List<employee> emplist = session.createQuery("FROM Employee").list(); 
        for(employee emp:emplist){
            System.out.print("First name" +emp.getFirstname());
            System.out.print("Last name" +emp.getLastname());
            System.out.println("Salary" +emp.getSalary());
        }
        session.close();
    }

          /* Method to UPDATE salary for an employee */

      public void updateemployee(Integer id,Integer salary)
     {
         Session session = factory.openSession();
         Transaction tx = session.beginTransaction();
         employee emp = (employee)session.get(employee.class, id);
         emp.setSalary(salary);
         session.update(emp);
         tx.commit();
         session.close();
      }

      public void deleteemployee(Integer id)
      {
       Session session = factory.openSession();
       Transaction tx = session.beginTransaction();
       employee emp = (employee)session.get(employee.class, id);
       session.delete(emp);
        tx.commit();
      }
    }
hibernate.cfg.xml

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
      <hibernate-configuration>
         <session-factory>
             <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
               <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
             <property name="hibernate.connection.username">javaguy</property>
             <property name="connection.password"></property>
               <property name="hibernate.jdbc.batch_size">100</property>
                <property name="connection.pool_size">1</property>
                <property name="show_sql">false</property>
                <property name="format_sql">true</property>
                <property name="hibernate.hbm2ddl.auto">create</property>
                <mapping resource="org/hibernate/employee.hbm.xml"/>     
        </session-factory>
        </hibernate-configuration>
        <?xml version="1.0"?>
         <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping       DTD 3.0//EN"
           "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
         <!-- Generated Oct 20, 2016 7:56:20 PM by Hibernate Tools 3.5.0.Final -->
         <hibernate-mapping>
            <class name="employee" table="EMPLOYEE">
               <id name="id" type="int">
                    <column name="EMP_ID" />
                    <generator class="assigned" />
                 </id>
                <property name="firstname" type="java.lang.String">
                    <column name="FIRST_NAME" />
                </property>
                <property name="lastname" type="java.lang.String">
                   <column name="LAST_NAME" />
                 </property>
                <property name="salary" type="int">
                    <column name="SALARY" />
                </property>
             </class>
             </hibernate-mapping>

com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/test
org.hibernate.dialogue.mysqldialogue
爪哇佬
100
1.
假的
真的
创造
employee.hbm.xml

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
      <hibernate-configuration>
         <session-factory>
             <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
               <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
             <property name="hibernate.connection.username">javaguy</property>
             <property name="connection.password"></property>
               <property name="hibernate.jdbc.batch_size">100</property>
                <property name="connection.pool_size">1</property>
                <property name="show_sql">false</property>
                <property name="format_sql">true</property>
                <property name="hibernate.hbm2ddl.auto">create</property>
                <mapping resource="org/hibernate/employee.hbm.xml"/>     
        </session-factory>
        </hibernate-configuration>
        <?xml version="1.0"?>
         <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping       DTD 3.0//EN"
           "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
         <!-- Generated Oct 20, 2016 7:56:20 PM by Hibernate Tools 3.5.0.Final -->
         <hibernate-mapping>
            <class name="employee" table="EMPLOYEE">
               <id name="id" type="int">
                    <column name="EMP_ID" />
                    <generator class="assigned" />
                 </id>
                <property name="firstname" type="java.lang.String">
                    <column name="FIRST_NAME" />
                </property>
                <property name="lastname" type="java.lang.String">
                   <column name="LAST_NAME" />
                 </property>
                <property name="salary" type="int">
                    <column name="SALARY" />
                </property>
             </class>
             </hibernate-mapping>

client.java

package org.hibernate;
public class employee {

private int id;
private String firstname;
private String lastname;
private int salary;

public employee(){}

public employee(int id,String firstname,String lastname,int salary)
{
    this.id=id;
    this.firstname=firstname;
    this.lastname=lastname;
    this.salary=salary;
}
public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getFirstname() {
    return firstname;
}

public void setFirstname(String firstname) {
    this.firstname = firstname;
}

public String getLastname() {
    return lastname;
}

public void setLastname(String lastname) {
    this.lastname = lastname;
}

public int getSalary() {
    return salary;
}

public void setSalary(int salary) {
    this.salary = salary;
}

}
package learn;

import org.hibernate.Session;
import java.util.List;
import java.util.Date;
import java.util.Iterator; 
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.test.util.hibernateutil;
import org.hibernate.*;


 public class client {

 private static SessionFactory factory;

public static void main(String[] args) {

    factory = hibernateutil.getSessionFactory();

    client a = new client();
    // Add few employee records in data base
    a.addemployee(1,"Sai","Nathan",5000);
    a.addemployee(2,"Sai","kumar",6000);
    a.addemployee(3,"Santhosh","Kumar",9000);

    // List down all employees
    /*a.listemployee();

    // update employee's record
    a.updateemployee(1,20000);

    // Delete an employee
    a.deleteemployee(3);

    // List down all employees
    a.listemployee();*/
    System.out.println("Finished");
}

   /* Method to CREATE an employee in the database */

public Integer addemployee(int id, String fname,String lname,int salary)
{
    Session session= factory.openSession();
    Transaction tx=session.beginTransaction();
    employee e1= new employee(id,fname,lname,salary);
    Integer empid=(Integer)session.save(e1);
    tx.commit();
    session.close();
    return empid;

}
   /* Method to  READ all the employees */

   public void listemployee(){
        Session session = factory.openSession();
        List<employee> emplist = session.createQuery("FROM Employee").list(); 
        for(employee emp:emplist){
            System.out.print("First name" +emp.getFirstname());
            System.out.print("Last name" +emp.getLastname());
            System.out.println("Salary" +emp.getSalary());
        }
        session.close();
    }

          /* Method to UPDATE salary for an employee */

      public void updateemployee(Integer id,Integer salary)
     {
         Session session = factory.openSession();
         Transaction tx = session.beginTransaction();
         employee emp = (employee)session.get(employee.class, id);
         emp.setSalary(salary);
         session.update(emp);
         tx.commit();
         session.close();
      }

      public void deleteemployee(Integer id)
      {
       Session session = factory.openSession();
       Transaction tx = session.beginTransaction();
       employee emp = (employee)session.get(employee.class, id);
       session.delete(emp);
        tx.commit();
      }
    }
包学习;
导入org.hibernate.Session;
导入java.util.List;
导入java.util.Date;
导入java.util.Iterator;
导入org.hibernate.SessionFactory;
导入org.hibernate.Transaction;
导入org.hibernate.cfg.Configuration;
导入org.hibernate.test.util.hibernateutil;
导入org.hibernate.*;
公共类客户端{
私营静电厂;
公共静态void main(字符串[]args){
factory=hibernateutil.getSessionFactory();
客户机a=新客户机();
//在数据库中添加少量员工记录
a、 增聘员工(1名,“Sai”,“Nathan”,5000);
a、 增聘员工(2名,“Sai”,“kumar”,6000);
a、 增聘员工(3名,“桑托什”,“库马尔”,9000);
//列出所有员工
/*a、 listemployee();
//更新员工记录
a、 更新员工(120000);
//删除雇员
a、 员工(3人);
//列出所有员工
a、 listemployee()*/
系统输出打印项次(“完成”);
}
/*方法在数据库中创建员工*/
公共整数addemployee(int-id、String-fname、String-lname、int-salary)
{
Session Session=factory.openSession();
事务tx=会话.beginTransaction();
员工e1=新员工(id、fname、lname、工资);
整数empid=(整数)session.save(e1);
tx.commit();
session.close();
返回empid;
}
/*方法读取所有员工*/
公共无效列表员工(){
Session Session=factory.openSession();
List emplist=session.createQuery(“来自员工”).List();
for(员工emp:员工列表){
System.out.print(“First name”+emp.getFirstname());
System.out.print(“姓氏”+emp.getLastname());
System.out.println(“Salary”+emp.getSalary());
}
session.close();
}
/*更新员工工资的方法*/
public void updateemployee(整数id,整数工资)
{
Session Session=factory.openSession();
事务tx=会话.beginTransaction();
employee emp=(employee)session.get(employee.class,id);
emp.setSalary(工资);
更新会议(emp);
tx.commit();
session.close();
}
public void deleteemployee(整数id)
{
Session Session=factory.openSession();
事务tx=会话.beginTransaction();
employee emp=(employee)session.get(employee.class,id);
删除(emp);
tx.commit();
}
}
错误:

项目路径:


应该有完整的包名(路径),所有类都应该以大写字母开头

所以应该是这样的:

package mypackage;

public class Employee
{
    ...
}

<class name="mypackage.Employee" ...>
package-mypackage;
公营雇员
{
...
}

应该有完整的包名(路径),所有类都应该以大写字母开头

所以应该是这样的:

package mypackage;

public class Employee
{
    ...
}

<class name="mypackage.Employee" ...>
package-mypackage;
公营雇员
{
...
}