- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我试图在表中创建一条记录,但它给了我以下异常。
org.hibernate.MappingException: Unknown entity: com.Person
我的 get(Person person)
方法工作正常并返回结果。
DAO 类:
public void create(Person person){
Session session = HibernateUtil.getSession();
Transaction tx = session.beginTransaction();
session.save(person);//----------------------->this throws exception
session.flush();
tx.commit();
session.close();
}
public List<Person> get(Person person){
criteria = createCriteria("person");
criteria.add(Restrictions.eq("person", person.getFirstName()));
return criteria.list();
}
hibernate.cfg.xml 文件:
<hibernate-configuration>
<session-factory>
//other database properties
<mapping resource="com/Person.hbm.xml" />
</session-factory>
</hibernate-configuration>
Person.hbm.xml 文件:
<hibernate-mapping default-lazy="false">
<class name="com.Person" table="Person" entity-name="person">
<id name="personId" type="integer" column="PERSON_ID">
<generator class="increment"/>
</id>
<property name="firstName" column="FIRST_NAME"/>
<property name="address" column="ADDRESS"/>
</class>
</hibernate-mapping>
实体映射到表人:
public class Person implements Serializable{
private Integer personId;
private String firstName;
private String address;
public Person(){}
//getters setters
}
最佳答案
此问题是由于在您的 hbm.xml 文件中使用实体名称属性引起的。如果您这样做,那么您还必须在调用保存时提供相同的实体名称:
session.save("person", person);
一个更简洁的选择是从映射文件中删除实体名称属性,这样您就可以调用 save(person) 而不必提供实体名称(它默认为 FQ 类名称)。然后通过传递类而不是字符串名称来创建您的条件。例如:
session.createCriteria(Person.class);
关于java - 创建记录导致 org.hibernate.MappingException : Unknown entity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22205876/
我有 Symfony 项目,其中有 2 个实体 - Building 和 Building_type。它们与 ManyToMany 单向关联相连。因此,当我尝试访问我的 Controller 时,我遇
在 couchBase 中保存 Map 类型数据时出现异常 Caused by: org.springframework.data.mapping.MappingException: Couldn't
我在使用无状态 session 进行更新时遇到问题,我 想知道是否有人见过这样的东西。 (NHibernate 3.1)。 我基本上是在做以下事情: SomeEntity e = statelessS
在使用hibernate时,我遇到了在两个不同的包中映射类的问题。 我有一个 myapp.domain.ItemforSale 类,它将映射到 myapp.cart.CartItem 我创建了 Car
最近,我将项目从 Hibernate 版本 3.1 迁移到 4.3,为了获得更好的性能,我尝试使用注释而不是 xml 映射。在继承类的所有实体类中,出现以下异常。错误是“org.hibernate.M
我正在努力解决以下问题: Caused by: org.hibernate.MappingException: Foreign key (FKj4uw5b6ekvxc2djohvon7lk7:bi_p
我尝试让 hibernate 4 运行(JBoss AS 7 附带)并将我的应用程序部署为 EAR(persistence.xml iis 在 EAR 的 META-INF 中)。 hibernate
我正在使用 JBoss AS 7 和 IDEA 11。当我尝试部署我的应用程序时遇到了这个问题: 我的应用中有两个实体: 首先: @Entity @Table(name="users") public
我在尝试使用 Hibernate 时遇到映射异常 - 在独立的 java 应用程序中(使用 netbeans 8)。我已经配置了 hibernate.cfg.xml 并设置了 hbm.xml 文件并映
我有一个数据库、hbm 映射文件和位于类库 中的 App.config。现在从一个测试项目中我引用该库并尝试调用我创建的 HibernateHelper 类,在运行时抛出以下错误: NHibernat
我有这个异常(exception): org.hibernate.MappingException: persistent class not known: java.lang.Long 我正在使用
情景 我需要在两个不同的上下文中表示一个对象。一个上下文不应该持续存在,另一个应该。持久对象是从另一个系统中提取的实际数据。非持久对象代表产品定义的一部分。两者将进行比较,我对存储定义数据不感兴趣。持
我有一个带有复合 ID 的表,其中一个字段是另一个表的外键。 我尝试使用以下类来实现这一点 - Tracking.java: public class Tracking { @Id @
我正在使用 Hibernate 注释并且有一个非常基本的数据对象: import java.io.Serializable; import javax.persistence.Entity; impo
我很好奇这个错误 org.hibernate.MappingException:未知实体:xyz 我是 hibernate 新手。欢迎提出任何建议。提前致谢。 最佳答案 Hibernate 将您的数据
我做错了什么? Exceprion 说我需要使“id”字段不可插入且不可更新。但我已经有了这些注释。我什至删除了“id”的setter方法,但它没有任何效果。是不是少了什么? weblogic.app
我正在为这两个类使用 JPA 注释: @Entity @RooJavaBean @RooToString @RooEntity @MappedSuperclass public abstract cl
使用 Castor 1.3,在测试时收到以下异常: org.exolab.castor.mapping.MappingException: The Java class com.company.sal
我收到以下错误: Could not determine type for: java.util.Set, at table: Ruleset, for columns: [org.hibernate
我在一个项目的代码中。当我尝试将对象 RRREC 类型转换为 RR_REC 类型时出现错误。 RRREC 类: public class RRREC{ protected String ow
我是一名优秀的程序员,十分优秀!