Package de.svws_nrw.db
Klasse DBEntityManager
java.lang.Object
de.svws_nrw.db.DBEntityManager
- Alle implementierten Schnittstellen:
AutoCloseable
Die Klasse DBEntityManager regelt den Datenbankzugriff im SVWS-Servers durch
die interne Nutzung eines
EntityManager
aus der Jakarta Persistence API (JPA).
Dafür werden zahlreiche Methoden zur Verfügung gestellt.-
Feldübersicht
Modifizierer und TypFeldBeschreibungstatic final boolean
Gibt an, ob das Caching der SVWS-Server-Datenbankdaten beim Zugriff auf die Datenbank genutzt werden soll. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoid
close()
int
executeBatchWithJDBCConnection
(List<String> queries) Führt die übergebenen SQL-Befehle direkt auf der JDBC-Connection (sieheConnection
) aus.int
executeDelete
(String query) Führt eine JPQL-Lösch-Anfrage durch.int
executeNativeDelete
(String query) Führt eine SQL-Lösch-Anfrage durch.int
executeNativeUpdate
(String query) Führt eine SQL-Aktualisierungs-Anfrage durch.int
executeUpdate
(String query) Führt eine JPQL-Aktualisierungs-Anfrage durch.int
executeWithJDBCConnection
(String query) Führt den SQL-Befehl direkt auf der JDBC-Connection (sieheConnection
) aus.Gibt den für die Datenbankverbindung verwendetenDBDriver
zurück.Gibt den Ort zurück, an dem die Datenbank der genutzten Datenbankverbindung liegt.Gibt das für die Datenbankverbindung verwendeten Schema der Datenbank zurück.getUser()
Gibt den Benutzer zurück, der mit dieser Datenbank-Verbindung assoziiert ist.boolean
Prüft, ob eine Transaktion aktive istboolean
insertRangeNative
(String tablename, List<String> colnames, List<Object[]> entities, int indexFirst, int indexLast) Diese Methode fügt die Entities aus dem angegebenen Bereich der übergebenen Liste in die angebene Tabelle mit den übergebenen Spalten ein.boolean
insertRangeNativeUnprepared
(String tablename, List<String> colnames, List<Object[]> entities, int indexFirst, int indexLast, int maxSQLStrLen) Diese Methode fügt die Entities aus dem angegebenen Bereich der übergebenen Liste in die angebene Tabelle mit den übergebenen Spalten ein.protected int
Führt eine SQL-Aktualisierungs-Anfrage durch.boolean
Prüft, ob eine Verbindung zur Datenbank besteht oder nicht, indem die Existenz des internenEntityManager
geprüft wird.boolean
Prüft, ob der Benutzer dieser Datenbank-Verbindung einen Benutzernamen hat, welcher dem priviligierten Datenbbank-Benutzer gehört, der in der SVWS-Konfiguration eingetragen ist.void
lock()
Nimmt den Lock für DBEntityManager für den aktuellen Thread in Besitz und kehrt zurück, sofern dieser nicht im Besitz eines anderen Threads ist (sieheReentrantLock.lock()
).<T> List
<T> migrationQueryAll
(Class<T> cl) Stellt eine Datenbank-Anfrage für alle Datensätze vom angegebenen DTO-Typ und gibt eine Liste dieser Daten zurück.boolean
Persistiert die übergebene Entity in der Datenbank.boolean
persistAll
(Collection<? extends Object> entities) Persistiert die übergebenen Entities in der Datenbank.<T> boolean
persistNewWithAutoInkrement
(Class<T> t, LongFunction<T> idApplicator) Generische Methode zum Speichern von Datenboolean
persistRange
(List<? extends Object> entities, int indexFirst, int indexLast) Persistiert die Entities aus dem angegebenen Bereich der übergebenen Liste in der Datenbank.Führt eine SQL-Abfrage aus und gibt das Ergebnis als eine Liste von Objekt-Arrays zurück.<T> jakarta.persistence.TypedQuery
<T> Erzeugt eine TypedQuery gemäß der MethodeEntityManager.createQuery(String, Class)
<T> List
<T> Stellt eine Datenbank-Anfrage für alle Datensätze vom angegebenen DTO-Typ und gibt eine Liste dieser Daten zurück.<T> T
queryByKey
(Class<T> cl, Object... id) Stellt eine Datenbank-Anfrage für den Datensatz vom angegebenen DTO-Typ mit den übergebenen Werten des Primärschlüssels und gibt diesen Datensatz zurück.<T> List
<T> queryByKeyList
(Class<T> cl, Collection<?> ids) Stellt eine Datenbank-Anfrage für die Datensätze vom angegebenen DTO-Typ, welcher einen Primärschlüssel aus einem Attribut hat, mit den übergebenen Werten für den Primärschlüssels und gibt die Datensätze zurück.<T> List
<T> Erzeugt eine TypedQuery gemäß der MethodeEntityManager.createQuery(String, Class)
, setzt die übergebenen Parameter der Query in der angegebenen Reihenfolge und gibt das Ergebnis als eine Liste von DB-DTOs des angegebenen Typs zurück.<T> jakarta.persistence.TypedQuery
<T> queryNamed
(String name, Class<T> cl) Erzeugt eine TypedQuery gemäß der MethodeEntityManager.createNamedQuery(String, Class)
<T> List
<T> queryNative
(String query) Führt eine Native SQL-Abfrage auf die Datenbank aus und gibt das Ergebnis als List von DTO-Objekten des Typs T zurück.<T> List
<T> queryNative
(String query, Class<T> cl) Führt eine Native SQL-Abfrage auf die Datenbank aus und gibt das Ergebnis als List von DTO-Objekten des Typs T zurück.<T> List
<T> queryNative
(String query, String resultSetMapping) Führt eine Native SQL-Abfrage auf die Datenbank aus und gibt das Ergebnis als List von DTO-Objekten des Typs T zurück.<T> T
querySingle
(Class<T> cl) Stellt eine Datenbank-Anfrage für den ersten Datensatz vom angegebenen DTO-Typ und gibt diesen zurück.boolean
Entfernt die übergebene Entity aus der Datenbank.boolean
Tauscht eine Entity gegen eine andere Entity in der Datenbank aus.void
Beginnt eine neue Transaction.boolean
Beendet eine aktuelle Transaction mithilfe eines Commit.void
Beendet eine aktuelle Transaction mithilfe eines Commit.int
transactionExecuteDelete
(String query) Führt eine Delete-Anfrage auf der Datenbank aus.int
transactionExecuteUpdate
(String query) Führt eine Update-Anfrage auf der Datenbank aus.int
Führt den SQL-Befehl direkt auf der JDBC-Connection (sieheConnection
) aus.void
Synchronisiert den Persistence-Kontext mit der Datenbank.<T> long
transactionGetNextID
(Class<T> t) Bestimmt für die übergebene DTOKlasse die nächste verfügbare Datenbank-IDlong
transactionGetNextIDByTablename
(String tableName) Bestimmt für die übergebene DTOKlasse die nächste verfügbare Datenbank-IDint
transactionNativeDelete
(String sqlQuery) Führt eine Delete-Anfrage auf der Datenbank aus.int
transactionNativeDeleteAndFlush
(String sqlQuery) Führt eine Delete-Anfrage auf der Datenbank aus.int
transactionNativeUpdate
(String sqlQuery) Führt eine Update-Anfrage auf der Datenbank aus.int
transactionNativeUpdateAndFlush
(String sqlQuery) Führt eine Update-Anfrage auf der Datenbank aus.boolean
transactionPersist
(Object entity) Persistiert die übergebene Entity in der Datenbank.boolean
transactionPersistAll
(Collection<? extends Object> entities) Persistiert die übergebenen Entities in der Datenbank.boolean
transactionRemove
(Object entity) Entfernt die übergebene Entity aus der Datenbank.boolean
transactionRemoveAll
(Collection<? extends Object> entities) Entfernt die übergebenen Entities aus der Datenbank.boolean
transactionReplace
(Object oldEntity, Object newEntity) Tauscht eine Entity gegen eine andere Entity in der Datenbank aus.boolean
Beendet eine aktuelle Transaction mithilfe eines Rollback.void
Beendet eine aktuelle Transaction mithilfe eines Rollback.void
unlock()
Gibt den Lock für DBEntityManager wieder frei, sofern dieser Thread im Besitz des Locks ist (sieheReentrantLock.isLocked()
undReentrantLock.unlock()
)boolean
Gibt an, ob die Konfiguration vorsieht, dass der SVWS-Benutzername und das Kennwort der Konfiguration auch für die Datenbankverbindung verwendet werden.
-
Felddetails
-
use_db_caching
public static final boolean use_db_cachingGibt an, ob das Caching der SVWS-Server-Datenbankdaten beim Zugriff auf die Datenbank genutzt werden soll. Dies ist als false vorkonfiguriert, da dies zu Problemen führt, wenn mehrere Prozesse auf die Datenbank zugreifen dürfen. Dies ist gerade durch den Parallelbetrieb von Schild3 zum SVWS-Server aber der Normalfall, so dass das Aktivieren dieser Option gefährlich ist und vermutlich zu Datenverlusten führt.- Siehe auch:
-
-
Methodendetails
-
getUser
Gibt den Benutzer zurück, der mit dieser Datenbank-Verbindung assoziiert ist.- Gibt zurück:
- der Datenbank-Benutzer.
-
isPrivilegedDatabaseUser
public boolean isPrivilegedDatabaseUser()Prüft, ob der Benutzer dieser Datenbank-Verbindung einen Benutzernamen hat, welcher dem priviligierten Datenbbank-Benutzer gehört, der in der SVWS-Konfiguration eingetragen ist.- Gibt zurück:
- true, falls es sich um den priviligierten Datenbank-Benutzer handelt.
-
close
public void close()- Angegeben von:
close
in SchnittstelleAutoCloseable
-
isConnected
public boolean isConnected()Prüft, ob eine Verbindung zur Datenbank besteht oder nicht, indem die Existenz des internenEntityManager
geprüft wird.- Gibt zurück:
- true, falls eine Verbindung besteht und ansonsten false.
-
useDBLogin
public boolean useDBLogin()Gibt an, ob die Konfiguration vorsieht, dass der SVWS-Benutzername und das Kennwort der Konfiguration auch für die Datenbankverbindung verwendet werden.- Gibt zurück:
- true, falls der SVWS-Benutzername und das Kennwort der Konfiguration auch für die Datenbankverbindung verwendet werden
-
getDBDriver
Gibt den für die Datenbankverbindung verwendetenDBDriver
zurück.- Gibt zurück:
- der für die Datenbankverbindung verwendete
DBDriver
-
getDBSchema
Gibt das für die Datenbankverbindung verwendeten Schema der Datenbank zurück.- Gibt zurück:
- das für die Datenbankverbindung verwendeten Schema der Datenbank
-
getDBLocation
Gibt den Ort zurück, an dem die Datenbank der genutzten Datenbankverbindung liegt. Dies ist entweder der Host-Teil mit Port einer URL oder ein Dateiname, wenn es sich um eine lokal gespeicherte Datenbank wie SQLite oder Access MDB handelt.- Gibt zurück:
- der Ort, an dem die Datenbank der genutzten Datenbankverbindung liegt.
-
lock
public void lock()Nimmt den Lock für DBEntityManager für den aktuellen Thread in Besitz und kehrt zurück, sofern dieser nicht im Besitz eines anderen Threads ist (sieheReentrantLock.lock()
). -
unlock
public void unlock()Gibt den Lock für DBEntityManager wieder frei, sofern dieser Thread im Besitz des Locks ist (sieheReentrantLock.isLocked()
undReentrantLock.unlock()
) -
hasActiveTransaction
public boolean hasActiveTransaction()Prüft, ob eine Transaktion aktive ist- Gibt zurück:
- true, falls eine Transaktion aktiv ist.
-
transactionBegin
public void transactionBegin()Beginnt eine neue Transaction. -
transactionFlush
public void transactionFlush()Synchronisiert den Persistence-Kontext mit der Datenbank. Bei Transaktionen kann dies genutzt werden, um eine Reihenfolge der Befehle zu garantieren und damit Foreign-Key-Constraints einzuhalten. -
transactionCommit
public boolean transactionCommit()Beendet eine aktuelle Transaction mithilfe eines Commit.- Gibt zurück:
- true, falls der Commit erfolgreich war und ansonsten false
-
transactionCommitOrThrow
public void transactionCommitOrThrow()Beendet eine aktuelle Transaction mithilfe eines Commit.- Löst aus:
jakarta.persistence.RollbackException
- wenn ein Fehler beim Commit auftrittIllegalStateException
- wenn keine Transaktion aktiv ist
-
transactionRollback
public boolean transactionRollback()Beendet eine aktuelle Transaction mithilfe eines Rollback.- Gibt zurück:
- true, falls der Rollback erfolgreich war und ansonsten false
-
transactionRollbackOrThrow
public void transactionRollbackOrThrow()Beendet eine aktuelle Transaction mithilfe eines Rollback.- Löst aus:
jakarta.persistence.PersistenceException
- wenn ein Fehler beim Rollback auftritt
-
transactionExecuteUpdate
Führt eine Update-Anfrage auf der Datenbank aus. Die zugehörige Transaktion darum muss manuell gehandhabt werden.- Parameter:
query
- die JPQL-Anfrage- Gibt zurück:
- die Anzahl der aktualisierten Entities oder Integer.MIN_VALUE im Fehlerfall
-
transactionExecuteDelete
Führt eine Delete-Anfrage auf der Datenbank aus. Die zugehörige Transaktion darum muss manuell gehandhabt werden.- Parameter:
query
- die JPQL-Anfrage- Gibt zurück:
- die Anzahl der gelöschten Entities oder Integer.MIN_VALUE im Fehlerfall
-
transactionNativeUpdate
Führt eine Update-Anfrage auf der Datenbank aus. Die zugehörige Transaktion darum muss manuell gehandhabt werden.- Parameter:
sqlQuery
- der SQL-Befehl- Gibt zurück:
- die Anzahl der aktualisierten Entities oder Integer.MIN_VALUE im Fehlerfall
-
transactionNativeUpdateAndFlush
Führt eine Update-Anfrage auf der Datenbank aus. Die zugehörige Transaktion darum muss manuell gehandhabt werden. Im Anschluss an die Update-Anfrage wird ein Flush ausgeführt.- Parameter:
sqlQuery
- der SQL-Befehl- Gibt zurück:
- die Anzahl der aktualisierten Entities oder Integer.MIN_VALUE im Fehlerfall
-
transactionNativeDelete
Führt eine Delete-Anfrage auf der Datenbank aus. Die zugehörige Transaktion darum muss manuell gehandhabt werden.- Parameter:
sqlQuery
- der SQL-Befehl- Gibt zurück:
- die Anzahl der gelöschten Entities oder Integer.MIN_VALUE im Fehlerfall
-
transactionNativeDeleteAndFlush
Führt eine Delete-Anfrage auf der Datenbank aus. Die zugehörige Transaktion darum muss manuell gehandhabt werden. Im Anschluss an die Update-Anfrage wird ein Flush ausgeführt.- Parameter:
sqlQuery
- der SQL-Befehl- Gibt zurück:
- die Anzahl der gelöschten Entities oder Integer.MIN_VALUE im Fehlerfall
-
transactionPersist
Persistiert die übergebene Entity in der Datenbank. Die zugehörige Transaktion darum muss manuell gehandhabt werden.- Parameter:
entity
- die zu persistierende Entity- Gibt zurück:
- true, falls die Entity erfolgreich persistiert wurde und ansonsten false
-
transactionPersistAll
Persistiert die übergebenen Entities in der Datenbank. Die zugehörige Transaktion darum muss manuell gehandhabt werden.- Parameter:
entities
- die zu persistierenden Entities- Gibt zurück:
- true, falls die Entities erfolgreich persistiert wurden und ansonsten false
-
transactionRemove
Entfernt die übergebene Entity aus der Datenbank. Die zugehörige Transaktion darum muss manuell gehandhabt werden.- Parameter:
entity
- die zu entfernende Entity- Gibt zurück:
- true, falls die Entity erfolgreich entfernt wurde und ansonsten false
-
transactionRemoveAll
Entfernt die übergebenen Entities aus der Datenbank. Die zugehörige Transaktion darum muss manuell gehandhabt werden.- Parameter:
entities
- die zu entfernenden Entities- Gibt zurück:
- true, falls die Entities erfolgreich entfernt wurden und ansonsten false
-
transactionReplace
Tauscht eine Entity gegen eine andere Entity in der Datenbank aus. Die zugehörige Transaktion darum muss manuell gehandhabt werden.- Parameter:
oldEntity
- die für den Tausch zu entfernende EntitynewEntity
- die neue Entity des Tauschs- Gibt zurück:
- true, falls der Tausch erfolgreich durchgeführt wurde
-
transactionExecuteWithJDBCConnection
Führt den SQL-Befehl direkt auf der JDBC-Connection (sieheConnection
) aus. Die zugehörige Transaktion darum muss manuell gehandhabt werden.- Parameter:
query
- der SQL-Befehl- Gibt zurück:
- die Anzahl der aktualisierten Entities, 0 falls der Befehl keine Rückgabe hat oder Integer.MIN_VALUE im Fehlerfall
-
persistAll
Persistiert die übergebenen Entities in der Datenbank. Die zugehörige Transaktion wird durch diese Methode gehandhabt.- Parameter:
entities
- die zu persistierenden Entities- Gibt zurück:
- true, falls die Entities erfolgreich persistiert wurde und ansonsten false
-
persistRange
Persistiert die Entities aus dem angegebenen Bereich der übergebenen Liste in der Datenbank. Die zugehörige Transaktion wird durch diese Methode gehandhabt.- Parameter:
entities
- die zu persistierenden EntitiesindexFirst
- der Index der ersten zu persistierenden EntityindexLast
- der Index der letzten zu persistierenden Entity- Gibt zurück:
- true, falls die Entities erfolgreich persistiert wurde und ansonsten false
-
persist
Persistiert die übergebene Entity in der Datenbank. Die zugehörige Transaktion wird durch diese Methode gehandhabt.- Parameter:
entity
- die zu persistierende Entity- Gibt zurück:
- true, falls die Entity erfolgreich persistiert wurde und ansonsten false
-
remove
Entfernt die übergebene Entity aus der Datenbank. Die zugehörige Transaktion wird durch diese Methode gehandhabt.- Parameter:
entity
- die zu entfernende Entity- Gibt zurück:
- true, falls die Entity erfolgreich entfernt wurde und ansonsten false
-
replace
Tauscht eine Entity gegen eine andere Entity in der Datenbank aus. Die zugehörige Transaktion wird durch diese Methode gehandhabt.- Parameter:
oldEntity
- die für den Tausch zu entfernende EntitynewEntity
- die neue Entity des Tauschs- Gibt zurück:
- true, falls der Tausch erfolgreich durchgeführt wurde
-
executeDelete
Führt eine JPQL-Lösch-Anfrage durch. Die zugehörige Transaktion wird durch diese Methode gehandhabt.- Parameter:
query
- die JPQL-Anfrage- Gibt zurück:
- die Anzahl der gelöschten Entities oder Integer.MIN_VALUE im Fehlerfall
-
executeUpdate
Führt eine JPQL-Aktualisierungs-Anfrage durch. Die zugehörige Transaktion wird durch diese Methode gehandhabt.- Parameter:
query
- die JPQL-Anfrage- Gibt zurück:
- die Anzahl der aktualisierten Entities oder Integer.MIN_VALUE im Fehlerfall
-
executeNativeDelete
Führt eine SQL-Lösch-Anfrage durch. Die zugehörige Transaktion wird durch diese Methode gehandhabt.- Parameter:
query
- die SQL-Anfrage- Gibt zurück:
- die Anzahl der gelöschten Entities oder Integer.MIN_VALUE im Fehlerfall
-
executeNativeUpdate
Führt eine SQL-Aktualisierungs-Anfrage durch. Die zugehörige Transaktion wird durch diese Methode gehandhabt.- Parameter:
query
- die SQL-Anfrage- Gibt zurück:
- die Anzahl der aktualisierten Entities oder Integer.MIN_VALUE im Fehlerfall
-
executeWithJDBCConnection
Führt den SQL-Befehl direkt auf der JDBC-Connection (sieheConnection
) aus. Die zugehörige Transaktion wird durch diese Methode gehandhabt.- Parameter:
query
- der SQL-Befehl- Gibt zurück:
- die Anzahl der aktualisierten Entities, 0 falls der Befehl keine Rückgabe hat oder Integer.MIN_VALUE im Fehlerfall
-
executeBatchWithJDBCConnection
Führt die übergebenen SQL-Befehle direkt auf der JDBC-Connection (sieheConnection
) aus. Die zugehörige Transaktion wird durch diese Methode gehandhabt.- Parameter:
queries
- die Liste der SQL-Befehle- Gibt zurück:
- die Anzahl der aktualisierten Entities, 0 falls die Befehle keine Rückgabe haben
- Löst aus:
DBException
- im Fehlerfall
-
query
Führt eine SQL-Abfrage aus und gibt das Ergebnis als eine Liste von Objekt-Arrays zurück. Dabei entspricht jedes Objekt-Array einem Datensatz der Abfrage.- Parameter:
sql
- der SQL-Befehl- Gibt zurück:
- das Abfrage-Ergebnis als Objekt-Array
-
insertRangeNative
public boolean insertRangeNative(String tablename, List<String> colnames, List<Object[]> entities, int indexFirst, int indexLast) Diese Methode fügt die Entities aus dem angegebenen Bereich der übergebenen Liste in die angebene Tabelle mit den übergebenen Spalten ein. Die entsprechende SQL-INSERT-Anfrage wird aus den übergebenen Daten generiert und im Rahmen einer Transaktion ausgeführt. Dies Ausführung erfolgt über einPreparedStatement
mit Batch-Processing auf der JDBC-Connection (sieheConnection
), die aus dem intern verwendetenEntityManager
ausgelesen wird.- Parameter:
tablename
- der Name der Tabelle, in die eingefügt wirdcolnames
- die Liste mit den Spaltennamen, die zu der Reihenfolge der Object-Array-Elementen der Entitäten passen mussentities
- die Liste mit den einzelnen Datensätzen in Form von Object-ArraysindexFirst
- der Index des ersten Datensatzes aus der Entitätenliste, der geschrieben wirdindexLast
- der Index des letzten Datensatzes aus der Entitätenliste, der geschrieben wird- Gibt zurück:
- true, falls die SQL-Anfrage erfolgreich ausgeführt wurde und ansonsten false
-
internalExecuteNativeUpdateConnectionUnprepared
Führt eine SQL-Aktualisierungs-Anfrage durch. Die zugehörige Transaktion wird durch diese Methode gehandhabt.- Parameter:
query
- die SQL-Anfrage- Gibt zurück:
- die Anzahl der aktualisierten Entities oder Integer.MIN_VALUE im Fehlerfall
-
insertRangeNativeUnprepared
public boolean insertRangeNativeUnprepared(String tablename, List<String> colnames, List<Object[]> entities, int indexFirst, int indexLast, int maxSQLStrLen) Diese Methode fügt die Entities aus dem angegebenen Bereich der übergebenen Liste in die angebene Tabelle mit den übergebenen Spalten ein. Die entsprechende native SQL-INSERT-Anfrage wird aus den übergebenen Daten generiert und im Rahmen einer Transaktion ausgeführt.- Parameter:
tablename
- der Name der Tabelle, in die eingefügt wirdcolnames
- die Liste mit den Spaltennamen, die zu der Reihenfolge der Object-Array-Elementen der Entitäten passen mussentities
- die Liste mit den einzelnen Datensätzen in Form von Object-ArraysindexFirst
- der Index des ersten Datensatzes aus der Entitätenliste, der geschrieben wirdindexLast
- der Index des letzten Datensatzes aus der Entitätenliste, der geschrieben wirdmaxSQLStrLen
- die maximal erlaubte Länge für den SQL-String, der Versuch zu schreiben schlägt fehlt, wenn die Länge überschritte wird. (-1 um die Prüfung zu deaktivieren)- Gibt zurück:
- true, falls die SQL-Anfrage erfolgreich ausgeführt wurde und ansonsten false
-
query
Erzeugt eine TypedQuery gemäß der MethodeEntityManager.createQuery(String, Class)
- Typparameter:
T
- die Klasse des Ergebnistyps- Parameter:
query
- der JPQL-String der Anfragecl
- das Klassen-Objekt für den Ergenistyp- Gibt zurück:
- die Anfrage als
TypedQuery
-
queryList
Erzeugt eine TypedQuery gemäß der MethodeEntityManager.createQuery(String, Class)
, setzt die übergebenen Parameter der Query in der angegebenen Reihenfolge und gibt das Ergebnis als eine Liste von DB-DTOs des angegebenen Typs zurück.- Typparameter:
T
- die DTO-Klasse- Parameter:
query
- der JPQL-String der Anfragecl
- das Klassenobjekt der DTO-Klasseparams
- die Parameter der JPQL-Anfrage- Gibt zurück:
- die Liste mit DTO-Objekten
-
queryNative
Führt eine Native SQL-Abfrage auf die Datenbank aus und gibt das Ergebnis als List von DTO-Objekten des Typs T zurück.- Typparameter:
T
- die DTO-Klasse- Parameter:
query
- die SQL-Abfragecl
- das Klassenobjekt der DTO-Klasse- Gibt zurück:
- die Liste mit DTO-Objekten
-
queryNative
Führt eine Native SQL-Abfrage auf die Datenbank aus und gibt das Ergebnis als List von DTO-Objekten des Typs T zurück.- Typparameter:
T
- die DTO-Klasse- Parameter:
query
- die SQL-Abfrage- Gibt zurück:
- die Liste mit DTO-Objekten
-
queryNative
Führt eine Native SQL-Abfrage auf die Datenbank aus und gibt das Ergebnis als List von DTO-Objekten des Typs T zurück.- Typparameter:
T
- die DTO-Klasse- Parameter:
query
- die SQL-AbfrageresultSetMapping
- der Name SQL-Result-Set-Mappings (SqlResultSetMapping
)- Gibt zurück:
- die Liste mit DTO-Objekten
-
queryNamed
Erzeugt eine TypedQuery gemäß der MethodeEntityManager.createNamedQuery(String, Class)
- Typparameter:
T
- die Klasse des Ergebnistyps- Parameter:
name
- der Name der JPQL-Anfragecl
- das Klassen-Objekt für den Ergenistyp- Gibt zurück:
- die Anfrage als
TypedQuery
-
queryAll
Stellt eine Datenbank-Anfrage für alle Datensätze vom angegebenen DTO-Typ und gibt eine Liste dieser Daten zurück.- Typparameter:
T
- die DTO-Klasse- Parameter:
cl
- das Klassen-Objekt für die DTO-Klasse- Gibt zurück:
- die Liste mit den einzelnen Datensätzen
-
migrationQueryAll
Stellt eine Datenbank-Anfrage für alle Datensätze vom angegebenen DTO-Typ und gibt eine Liste dieser Daten zurück.- Typparameter:
T
- die DTO-Klasse- Parameter:
cl
- das Klassen-Objekt für die DTO-Klasse- Gibt zurück:
- die Liste mit den einzelnen Datensätzen
-
querySingle
Stellt eine Datenbank-Anfrage für den ersten Datensatz vom angegebenen DTO-Typ und gibt diesen zurück. Sollte kein Datensatz vorhanden sein, so wird null zurückgegeben- Typparameter:
T
- die DTO-Klasse- Parameter:
cl
- das Klassen-Objekt für die DTO-Klasse- Gibt zurück:
- der erste Datensatz oder null
-
queryByKey
Stellt eine Datenbank-Anfrage für den Datensatz vom angegebenen DTO-Typ mit den übergebenen Werten des Primärschlüssels und gibt diesen Datensatz zurück. Sollte kein Datensatz vorhanden sein, so wird null zurückgegeben- Typparameter:
T
- die DTO-Klasse- Parameter:
cl
- das Klassen-Objekt für die DTO-Klasseid
- die Werte des Primärschlüssels für den gesuchten Datensatz- Gibt zurück:
- der erste Datensatz oder null
-
queryByKeyList
Stellt eine Datenbank-Anfrage für die Datensätze vom angegebenen DTO-Typ, welcher einen Primärschlüssel aus einem Attribut hat, mit den übergebenen Werten für den Primärschlüssels und gibt die Datensätze zurück. Sollte kein Datensatz vorhanden sein, so wird eine leere Liste zurückgegeben.- Typparameter:
T
- die DTO-Klasse- Parameter:
cl
- das Klassen-Objekt für die DTO-Klasseids
- die Werte des Primärschlüssels für die gesuchten Datensätze- Gibt zurück:
- doe Liste mit den Datensätzen
-
transactionGetNextID
Bestimmt für die übergebene DTOKlasse die nächste verfügbare Datenbank-ID- Typparameter:
T
- der Typ der DtoKlasse- Parameter:
t
- die DtoKlasse- Gibt zurück:
- die nächste verfügbare ID
-
transactionGetNextIDByTablename
Bestimmt für die übergebene DTOKlasse die nächste verfügbare Datenbank-ID- Parameter:
tableName
- der Name der Tabelle mit Autoinkrement- Gibt zurück:
- die nächste verfügbare ID
-
persistNewWithAutoInkrement
Generische Methode zum Speichern von Daten- Typparameter:
T
- erwarteter Rückgabetyp- Parameter:
t
- Typ der zu speichernden DatenidApplicator
- methode die die ID im Objekt übernimmt- Gibt zurück:
- Rückgabetyp
-