Io uso JPA e Hibernate per il mio progetto. Ho due classi con gli stessi nomi ma in . Essi sono:Come può l'JPA riconoscere due classi con lo stesso nome ma in pacchetti diversi?
@Entity(name = "X_USER")
@Table(name = "X_USER")
public class User {
e:
@Entity
@Table(name="Y_USER")
public class User {
stavo creando una query di ricerca con: .getSimpleName()
ma non ha funzionato perché il loro semplice nome sono gli stessi. L'ho cambiato in .getName()
.
Tuttavia, confonde ancora a quale User
restituire.
EDIT:
ho che:
SELECT_BY_PROPERTY_QUERY = "SELECT p FROM :CLASS: p WHERE p.:PROPNAME:=?";
ed io che:
SELECT_BY_PROPERTY_QUERY.replaceFirst(":CLASS:", clazz.getName()).replaceFirst(":PROPNAME:", propertyName);
e quando il debug si fa qualcosa di simile:
Select p from User p Where p.name=?
È ancora User
e non include le informazioni sul pacchetto e mi restituisce la classe User
errata.
'getName()' deve restituire l'FQN. Che errore stai ottenendo? –
@ XaviLópez Ho modificato la mia domanda. – kamaci