【问题标题】:Hibernate org.hibernate.MappingException: Unknown entity runtime errorHibernate org.hibernate.MappingException:未知实体运行时错误
【发布时间】:2016-09-06 02:06:42
【问题描述】:

我正在尝试使用 Hibernate 保存数据,但在运行时遇到了以下异常。

实体类

import javax.persistence.*;
import java.util.Date;



@Entity
@Table(name="FINANCES_USER")
public class User {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="USER_ID")
private Long userId;

@Column(name="FIRST_NAME")
private String firstName;

@Column(name="LAST_NAME")
private String lastName;

@Column(name="BIRHT_DATE", nullable = false)
private Date birthDate;

@Column(name = "EMAIL_ADDRESS")
private String emailAddress;

@Column(name = "LAST_UPDATED_DATE")
private Date lastUpdatedDate;

@Column(name = "LAST_UPDATED_BY")
private String lastUpdatedBy;

@Column(name = "CREATED_DATE", updatable = false)
private Date createdDate;

@Column(name = "CREATED_BY",updatable = false)
private String createdBy;

这是hibernate.cfg.xml

<hibernate-configuration>

<session-factory>

    <!-- Database connection settings -->
    <property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://localhost:3306/ifinances</property>
    <property name="connection.username">root</property>
    <property name="connection.password">root</property>

    <!-- SQL dialect -->
    <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>


    <!-- Echo all executed SQL to stdout -->
    <property name="show_sql">true</property>

    <mapping class="com.codenogo.data.entities.User"/>

</session-factory>

这是我的主要内容:

    public class Application {

    public static void main(String[] args){

        Session session = HibernateUtil.getSessionFactory().openSession();
        session.getTransaction().begin();

        User user = new User();
        user.setBirthDate(new Date());
        user.setCreatedDate(new Date());
        user.setCreatedBy("Arnold");
        user.setEmailAddress("argo@mail.com");
        user.setFirstName("Arod");
        user.setLastName("Nogo");
        user.setLastUpdatedBy("Arno");
        user.setLastUpdatedDate(new Date());

        session.save(user);

        session.getTransaction().commit();
        session.close();
    }
}

我在Entity 类中导入了javax.persistence.*。尽管已在 xml 配置文件中映射了实体类,但我无法将数据保存到我的数据库中。我得到了这个例外:

org.hibernate.MappingException: Unknown entity: com.codenogo.data.entities.User.

对此有什么帮助吗?

【问题讨论】:

  • 您使用哪个版本的 Hibernate?并且,请添加HibernateUtil

标签: java hibernate orm mapping


【解决方案1】:

尝试从您的hibernate.cfg.xml 文件中删除此行:&lt;mapping class="com.codenogo.data.entities.User"/&gt;,因为您使用的是注释来映射您的实体而不是 xml 映射模式

【讨论】:

  • 不正确。 mapping class 用于带有注释的映射。
  • 我仍然遇到同样的错误。 @v.ladynev 对此有何想法?
  • @ArnoldNogo 请按照我在对您的问题的评论中提出的要求进行操作。
  • 我正在使用带注释的类,因此需要映射类来指定类,在这种情况下它是 User 类
猜你喜欢
  • 1970-01-01
  • 2015-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-29
相关资源
最近更新 更多