Spring Boot Speichern in Threads

OnDemand

Top Contributor
Guten Morgen zusammen,

ich schreibe in verschiedenen Threads Daten in die Datenbank, dabei kann es vor kommen dass 2 Threads in eine Tabelle schreiben und die selben Daten haben. Also zb in eine Tabelle "Hersteller" und beide Threads schreiben grad einen Hersteller "Beton und Zement AG" kommt immer wieder vor, dass es doppelte Einträge gibt. Welche Möglichkeiten gibt es um das zu vermeiden? Ich frage schon vorher ab ob ein Wert drin ist, aber just in dem Moment schreibt wohl der andere Thread den Wert rein.
 

Oneixee5

Top Contributor
Du kannst bei DML-Operationen die Tabelle sperren ... LOCK TABLE table IN EXCLUSIVE MODE. So kann nur ein INSERT zur selben Zeit auf die Tabelle ausgeführt werden. Wenn du statt des INSERT einen MERGE verwendest, erhältst du auch keine Unique-Constraint-Fehler.
 

Oneixee5

Top Contributor
Ja, du kannst das in einem Repo kapseln.
Java:
@Repository
public class PersonInsertRepository {

    @PersistenceContext
    private EntityManager entityManager;

    @Transactional
    public void insertWithQuery(Person person) {
        entityManager.createNativeQuery("MERGE ...")
              .setParameter(1, ...)
              .setParameter(2, ...)
            .setParameter(3, ...)
          .executeUpdate();
    }
}
 

thecain

Top Contributor
Das ist jetzt dann aber auch ein bisschen ein Coinflip, was am ende in der DB steht, wenn 2x Merge gemacht wird. (Ausser natürlich es sind 2x die selben Daten)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
OnDemand JDBC Client Spring: Pool läuft voll Datenbankprogrammierung 6
T Cast-Fehler: Spring Data exists.... boolean??? Datenbankprogrammierung 1
T Spring MongoDB: Auswertung schlägt fehl Datenbankprogrammierung 1
T Spring MongoDB: Prüfen ob bereits eine Email existiert Datenbankprogrammierung 15
T Spring MongoDB @Indexed(unique=true) Datenbankprogrammierung 0
T Spring MongoDB self-reference Datenbankprogrammierung 2
ma095 value NULL- Datenbank Postgresql Spring - intellij community Datenbankprogrammierung 0
M Spring, JPA, Hibernate, H2 Datenbankprogrammierung 2
R JPA, Spring, löschen einer Entity Datenbankprogrammierung 2
J Hibernate + Spring + SQL Server => Performanceprobleme :( Datenbankprogrammierung 4
R Mongodb Daten in einem bestimmten Document speichern Datenbankprogrammierung 1
OnDemand Externe IDs speichern - Tabellenaufbau Datenbankprogrammierung 8
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
D MYSQL goorm IDE - Wie speichern? Datenbankprogrammierung 0
T Java Spiel Daten speichern Datenbankprogrammierung 1
S Sets speichern Datenbankprogrammierung 2
S MongoDB - Abfrageergebnis in Array speichern Datenbankprogrammierung 2
B Denkanstoß bei Abschreibungstabelle in DB speichern Datenbankprogrammierung 0
temi Wie kann ich "Class" in einer DB speichern? Datenbankprogrammierung 2
Danloc Informationen für Datenbankverbindung wo/wie speichern? Datenbankprogrammierung 11
D foreignkey abfragen und speichern Datenbankprogrammierung 74
F Java Objekte in einer Datenbank speichern Datenbankprogrammierung 4
L HSQLDB Bilder in der DB speichern? Datenbankprogrammierung 6
perlenfischer1984 Java Objecte speichern mit Hibernate ? Datenbankprogrammierung 2
M byte-Array in Datenbank speichern Datenbankprogrammierung 2
I SQLite Objekt speichern einer Serialisierter Klasse Datenbankprogrammierung 1
J Dateien in MySQL speichern & indizieren Datenbankprogrammierung 2
Androbin [Serializing] Mehrere Objekte in einer einzigen Datei speichern Datenbankprogrammierung 1
S CSV File in Datenbank speichern!? Datenbankprogrammierung 1
L Werte in Datei speichern Datenbankprogrammierung 16
E MySQL Große Datenmengen reibungslos speichern für Gameserver Datenbankprogrammierung 6
M MySQL Einzelne Systeminformationen speichern Datenbankprogrammierung 2
AMStyles Kann Wert nicht speichern (MAX VALUE) Datenbankprogrammierung 9
H MySQL Datenbank-Settings speichern Datenbankprogrammierung 10
5 Image in Datenbank speichern Datenbankprogrammierung 11
Kenan89 Oracle Daten einer Tabelle in Array speichern Oracle Datenbankprogrammierung 10
pg1337 PostgreSQL Werte auf Eingabe speichern Datenbankprogrammierung 23
B Feld in einer @Entity als Text speichern Datenbankprogrammierung 5
D MySQL Bild aus DB auslesen und auf FTP Speichern Datenbankprogrammierung 7
G Oracle Speichern der Reihenfolge Datenbankprogrammierung 2
I SQL_Abfrage-Ergebnis (ResultSet) in String[] speichern Datenbankprogrammierung 29
X Connection schließen oder speichern? Performance Frage Datenbankprogrammierung 7
S Verschiedene Informationen gleichen Typs speichern und auslesen Datenbankprogrammierung 4
T Derby/JavaDB byte[] in Datenbank speichern [JPA] Datenbankprogrammierung 10
Z MySQL werte von formular speichern Datenbankprogrammierung 3
D Hibernate: ArrayList in DB speichern und auslesen Datenbankprogrammierung 4
G Lange Texte in der DB speichern Datenbankprogrammierung 3
S Textur in DB speichern Datenbankprogrammierung 7
J MySQL Hibernate: Probleme beim Speichern von OneToMany - Datensätzen Datenbankprogrammierung 2
K PostgreSQL PDF-Dateien in Datenbank speichern und auslesen Datenbankprogrammierung 4
B Japanische Zeichen in MSSQL-DB speichern Datenbankprogrammierung 2
H Datenbank in Datei speichern / laden Datenbankprogrammierung 8
M Problem Array in BLOB-Feld in DerbyDB zu speichern Datenbankprogrammierung 5
R Tabelle Updaten aber auch Speichern Datenbankprogrammierung 2
S Hibernate subtabellen speichern Datenbankprogrammierung 2
T Designfrage: DB-Daten direkt oder verzögert speichern Datenbankprogrammierung 2
Dragonfire Daten aus jsp Datei in datenbank speichern Datenbankprogrammierung 15
O vernümpftig Datumsangabe in mySQL DB speichern und auslesen Datenbankprogrammierung 4
T Daten aus DB in variable Zahl an Variablen speichern Datenbankprogrammierung 18
C MP3 in DB als Blob, wieder auslesen und als MP3 speichern??? Datenbankprogrammierung 8
N Sortierte Liste in Datenbank speichern? Datenbankprogrammierung 3
S BLOB in Datei speichern Datenbankprogrammierung 8
M Gelöst: JavaDB - Derby Inhalt in Jar Datei speichern Datenbankprogrammierung 5
A EMails in JavaDB speichern Datenbankprogrammierung 4
S Hibernate Blob mit Stream speichern Datenbankprogrammierung 3
D Datum vor 1756 speichern Datenbankprogrammierung 2
W XML Klasse in Datenbank speichern? Datenbankprogrammierung 5
H Text formatiert in MySQL DB speichern? Datenbankprogrammierung 3
O Vector als Blob in Oracle Datenbank speichern Datenbankprogrammierung 3
S Bilder in DB speichern oder lieber doch im Filesystem? Datenbankprogrammierung 4
G Objekte in Datenbank speichern? Datenbankprogrammierung 6
T Wie kann ich Blobs (Bilder) in einer Datei speichern? Datenbankprogrammierung 2
P Klasse in Datenbank speichern Datenbankprogrammierung 4
Y Hibernate - Bild speichern Datenbankprogrammierung 4
L Postgres kann kein Datum speichern Datenbankprogrammierung 5
D Content einer email in sql-datenbank speichern? Datenbankprogrammierung 4
S Vordefinierte Queries aufrufen und neue speichern. Datenbankprogrammierung 5
T select Abfrage in Java Integer speichern ? Datenbankprogrammierung 2
M MM.YYYY als Datum speichern Datenbankprogrammierung 4
B Icon in Datenbank speichern Datenbankprogrammierung 4
S Integerwert auswerten und als Variable speichern Datenbankprogrammierung 2
E Speichern - Java-Datenbank, Textdatei oder wie? Datenbankprogrammierung 23
A PreparedStatement im Servlet - Referenz speichern Datenbankprogrammierung 3
P [Hibernate] Objekt laden, Id ändern und speichern? Datenbankprogrammierung 2
D String[][] Array in Access Datenbank speichern Datenbankprogrammierung 5
A SQL Datenbankabfrage in Array speichern Datenbankprogrammierung 3
M Datum in Datenbank speichern Datenbankprogrammierung 3
L persistentes Speichern von Daten in der HSQLDB ? Datenbankprogrammierung 5
M Objekt in Datenbank speichern Datenbankprogrammierung 2
S Wie Daten speichern? Datenbankprogrammierung 5
K Ergebnis aus SQL Abfrage in Array speichern Datenbankprogrammierung 3
F Sauber das Datum Speichern Datenbankprogrammierung 2
B double Array in MySQL Datenbank speichern/laden Datenbankprogrammierung 12
S ImageIcon in ein ByteArray speichern für in die DB Datenbankprogrammierung 2
E BufferedImage in hsqldb speichern Datenbankprogrammierung 5
L Datum (String) in MySQL-Tabelle (date) speichern Datenbankprogrammierung 4
L DB Felder in einem Array speichern und wieder auslesen Datenbankprogrammierung 11
R Daten aus ResultSet in HashMap speichern Datenbankprogrammierung 3
G speichern und auslesen von daten aus einer datenbank Datenbankprogrammierung 8

Ähnliche Java Themen


Oben