JPA Nativen Abfrage mit Tabellen aus unterschiedlichen schema in Oracle

Habe ich Tabelle MV_ULICE in der schema-ADRESY. Aber in JPA ich eine Verbindung zur Datenbank (Oracle) mit unterschiedlichen Nutzer dann ADRESY. Dieser Benutzer hat die Berechtigung für den Zugriff auf Tabellen aus dem schema ADRESY, so in der JPA-es war kein problem mit dem definieren von entities, da Sie leicht anderen schema in entity-definition:

@Entity
@Table(name = "MV_ULICE", schema = "ADRESY")
public class PoiStreet {
...

Das problem begann, als ich schaffen wollte Nativen Abfragen mit JPA. Abfrage sieht wie folgt aus:

final String queryString = "SELECT * "
                + "FROM MV_ULICE streets "
                + "WHERE CONNECT_BY_ISLEAF = 1 AND streets.status != 'H' "
                + "CONNECT BY NOCYCLE PRIOR streets.sym_ul = streets.symulold "
                + "START WITH streets.sym_ul = 'ulica'";

Query query = getEntityManager().createNativeQuery(
                queryString, poi.domain.entities.streets.PoiStreet.class);

Und dies funktioniert nicht. Ich einfach Ausnahme bilden Oracle "Tabelle oder view nicht vorhanden".

Versuchte ich chanign MV_ULICE zu ADRESY.MV_ULICE

final String queryString = "SELECT * "
                + "FROM ADRESY.MV_ULICE streets " + ...

aber das hat nicht geholfen.

Also wer hat Erfahrung mit native queries in oracle mit verschiedenen schemas dann Benutzer, die Zugriff auf die Datenbank? Bitte helfen 🙂

  • Können Sie abstrakte Kreuz-schema Logik entfernt in einer Ansicht, so dass Sie nur Zugriff auf eine Sicht von "Ihr" - schema?
  • die Umsetzung verwenden Sie?
  • rok: ich benutze Hibernate als JPA-provider. davek: die Tabellen, die ich Ihnen erzählt habe, sind schon mal eigentlich
InformationsquelleAutor Pawel Szulc | 2010-02-07
Schreibe einen Kommentar