【发布时间】:2011-12-31 09:12:03
【问题描述】:
我在我的项目中使用 JPA 和 Hibernate。我有两个具有同名但在不同包中的类。它们是:
@Entity(name = "X_USER")
@Table(name = "X_USER")
public class User {
和:
@Entity
@Table(name="Y_USER")
public class User {
我正在创建一个搜索查询:.getSimpleName(),但它不起作用,因为它们的简单名称相同。我把它改成了.getName()。
但是,它仍然混淆了返回哪个User。
编辑:
我有这个:
SELECT_BY_PROPERTY_QUERY = "SELECT p FROM :CLASS: p WHERE p.:PROPNAME:=?";
我认为:
SELECT_BY_PROPERTY_QUERY.replaceFirst(":CLASS:", clazz.getName()).replaceFirst(":PROPNAME:", propertyName);
当我调试它时,它会变成这样:
Select p from User p Where p.name=?
它仍然是User,它不包含包信息并返回错误User 类。
【问题讨论】:
-
getName()应该返回 FQN。你遇到了什么错误? -
@XaviLópez 我已经编辑了我的问题。
标签: java hibernate jpa entitymanager