Как JPA может распознать два класса с одинаковым именем, но в разных пакетах?

Я использую JPA и Hibernate для своего проекта. У меня есть два класса с одинаковыми именами , но в разных пакетах .Это:

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

и:

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

Я создавал поисковый запрос с помощью: .getSimpleName () , но это не сработало, потому что их простые имена совпадают. Я изменил его на .getName () .

Тем не менее, это все еще сбивает с толку, к какому пользователю возвращаться.

РЕДАКТИРОВАТЬ:

У меня есть это:

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=?

Это все еще Пользователь , и это не так включает информацию о пакете и возвращает мне неправильный класс пользователя .

6
задан Piotr Nowicki 17 November 2011 в 14:36
поделиться