简体   繁体   English

线程“ main”中的异常org.hibernate.MappingException:未知实体:org.hibernate.internal.SessionImpl

[英]Exception in thread “main” org.hibernate.MappingException: Unknown entity: org.hibernate.internal.SessionImpl

This is my first Hibernate Application Program. 这是我的第一个Hibernate Application Program。 I got this error when executing the main class.I Am trying to insert new record at the table student. 我在执行主类时遇到此错误。我正在尝试在学生桌插入新记录。 Also it is good to say that hibernate doing the connection to the database without any problem !I keep getting this MappingException: 还可以说休眠状态完成了到数据库的连接没有任何问题!我不断收到此MappingException:

Hibernate: drop table if exists student 
Hibernate: create table student  (student_id integer not null auto_increment, First_Name varchar(255), Last_Name varchar(255), Age integer,  primary key (student_id))
Dec 22, 2015 10:04:44 PM org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: HHH000230: Schema export complete
Exception in thread "main" org.hibernate.MappingException: Unknown entity: org.hibernate.internal.SessionImpl
at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:1146)
at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1358)
at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:116)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:206)
at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:191)
at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)
at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)
at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:683)
at org.hibernate.internal.SessionImpl.save(SessionImpl.java:675)
at org.hibernate.internal.SessionImpl.save(SessionImpl.java:671)
at biztime.Manager.main(Manager.java:23)

Does anyone have any ideas as I've looked at so many duplicates but the resolutions don't appear to work for me.This is my cfg.xml 当我查看了很多重复项后,没有人有任何想法,但解决方案似乎对我不起作用。这是我的cfg.xml

My hibernate.cfg.xml 我的hibernate.cfg.xml

   <!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="dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">root</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/anwardb</property>
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.hbm2ddl.auto">create-drop</property>
    <!-- <property name="hibernate.hbm2ddl.auto">update</property> -->
    <mapping resource="biztime/student.hbm.xml"/>    
    </session-factory>
    </hibernate-configuration>

My student.java 我的学生.java

package biztime;
public class student 
{
    private int student_id;
    private String First_Name;
    private String Last_Name;
    private int Age;
    public int getStudent_id() 
    {
      return student_id;
    }

 public void setStudent_id(int student_id) 
  {
    this.student_id = student_id;
  }
public String getFirst_Name() 
{
    return First_Name;
}
public void setFirst_Name(String first_Name) 
{
    First_Name = first_Name;
}

public String getLast_Name() 
{
    return Last_Name;
}

public void setLast_Name(String last_Name) 
{
    Last_Name = last_Name;
}

  public int getAge() 
 {
    return Age;
 }

  public void setAge(int age)

  {
    Age = age;
  }
}

student.hbm.xml student.hbm.xml

     <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">


    <hibernate-mapping package="biztime">

    <class name="student" table="student ">
    <id name="student_id" column="student_id">
        <generator class="native"/>
    </id>
    <property name="First_Name" >
        <column name="First_Name"/>
    </property>
    <property name="Last_Name">
        <column name="Last_Name"/>
    </property>
    <property name="Age">
        <column name="Age"/>
    </property>
</class>

</hibernate-mapping>

I call it using this main: 我用这个主要的称呼它:

Manager.java 管理器

  package biztime;
  import org.hibernate.Session;
  import org.hibernate.SessionFactory;
  import org.hibernate.cfg.Configuration;

   public class Manager 
  {

   public static void main(String[] args) 
  {

    Configuration con=new Configuration();
    con.configure();
    SessionFactory sf=con.buildSessionFactory();

    Session s1=sf.openSession();
    student  s=new student ();
    s.setFirst_Name("hello");
    s.setLast_Name("test");
    s.setStudent_id(1);
    s.setAge(20);
    s1.beginTransaction();
    s1.save(s1);
    s1.getTransaction().commit();
    s1.flush();
    s1.close();
    System.out.println("done");

    }
 }

You're attempting to save s1 which is a Session . 您正在尝试保存s1这是一个Session Save s instead, which is a student (and capitalize your classnames). 保存s ,它是一个student (并使用大写的student )。

I don't think you should set student_id, as it is an auto_increment field. 我认为您不应该设置student_id,因为它是一个auto_increment字段。 Try removing this line: s.setStudent_id(1); 尝试删除此行: s.setStudent_id(1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 线程“main”中的异常org.hibernate.MappingException:未知实体: - Exception in thread “main” org.hibernate.MappingException: Unknown entity: 线程“ main” org.hibernate.MappingException中的异常:未知实体:Ville - Exception in thread “main” org.hibernate.MappingException: Unknown entity: Ville 线程“main”中的异常 org.hibernate.MappingException:未知实体 - Exception in thread "main" org.hibernate.MappingException: Unknown entity 线程“main”中的异常org.hibernate.MappingException:未知实体:org.hibernate.employee - Exception in thread “main” org.hibernate.MappingException: Unknown entity: org.hibernate.employee org.hibernate.MappingException:未知实体Main $ 1 - org.hibernate.MappingException: Unknown entity Main$1 异常:org.hibernate.MappingException:未知实体 - Exception : org.hibernate.MappingException: Unknown entity 错误:线程“ main”中的异常org.hibernate.MappingException:未知实体:com.hibernate.demo.model.Contact - Error: Exception in thread “main” org.hibernate.MappingException: Unknown entity: com.hibernate.demo.model.Contact org.hibernate.internal.SessionImpl中的内存溢出 - Memory overflow in org.hibernate.internal.SessionImpl 线程“ main”中的异常org.hibernate.MappingException:未知实体:com.myApp.data.entities.User - Exception in thread “main” org.hibernate.MappingException: Unknown entity: com.myApp.data.entities.User 线程“ main” org.hibernate.MappingException中的异常:未知实体:来自目标 - Exception in thread “main” org.hibernate.MappingException: Unknown entity: from Destination
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM