JPA: NullPointerException nach persist

Status
Nicht offen für weitere Antworten.

tippex

Neues Mitglied
Hallo zusammen,

ich habe eine 1:n Beziehung. Ein Artikel kann mehreren Assets zugeordnet sein.

Leider erhalte ich nach persist oder update auf Assets eine NullPointerException, wenn ich den "Artikel"-Datensatz abrufen möchte.
Kann mir bitte jemand sagen was ich falsch mache?
Anbei mein Code.

Entity Artikel:
Java:
	@Id
	private int artikel_id;

	@Column(unique=true)
	private String artikelnummer;
Entity Assets:
Java:
	@Id
	private int asset_id;

	private String artikelnummer;	

	@ManyToOne
	@JoinColumn(name="artikelnummer",referencedColumnName="artikelnummer",unique=true, insertable=false, updatable=false)
	private Artikel artikel;
Folgender Code wirft eine NullPointerException:
Java:
	EntityManager em = Persistence.createEntityManagerFactory("em").createEntityManager();

	em.getTransaction().begin();
		
	Artikel artikel = new Artikel();
	artikel.setArtikelnummer("123");
	em.persist(artikel);

	Assets asset = new Assets();
	asset.setArtikelnummer("123");
	em.persist(asset);
	
	em.flush();
        em.getTransaction().commit();

	Query query = em.createQuery("SELECT d FROM Assets d where d.artikelnummer = '123'");
	Assets ds = (Assets) query.getSingleResult();
	System.out.println(ds.getArtikel().getArtikelnummer());

Vielen Dank im Voraus.
 

peez

Bekanntes Mitglied
Wo genau bekommst du die Exception?
Ich fange auch gerade erst mit JPA an aber evt. irgendwas am Datenmodell? (wie sieht deine persistence.xml aus?) Ich an der Stelle würde einfach mal die DDL Creation einschalten und auf eine leere DB verweisen.
Danach würde ich die JoinColumn-Annotation auf das nötigste reduzieren und von klein auf hochgehen um zu sehen an welchem der Werte es liegt...
 

JanHH

Top Contributor
Ich durchschau das nicht so ganz aber mir kommt das irgendwie etwas vermurkst vor. Du willst irgendwie den Artikel mittels des Strings artikelnummer mappen, gibst eine JoinColum mit einem Namen an, den in beiden Entitys jeweils eine Property mit dem Typ String hat. . Das mapping geschieht allerdings nicht über den Artikelnummer-String, sondern die Id, und das ist ja ein int. Das kann also irgendwie nicht funktionieren.

Ansonsten würde ich das sowieso eher so machen, dass die Artikel-Entity eine Liste der Assets hat, denen sie zugeordnet ist, und diese dann mit @OneToMany annotieren.
 

tippex

Neues Mitglied
Das Datenmodell ist ok. Auf Artikel.Artikelnummer liegt ein Unique Constraint und auf Assets.Artikelnummer ein FK der diesen referenziert.

Die NullPointerException erscheint in Zeile 18:
Java:
 System.out.println(ds.getArtikel().getArtikelnummer());

Ich muss dazu sagen: Wenn ich die Query erstmalig aufrufe funktioniert sie einwandfrei. Nachdem ich einen neuen Datensatz gespeichert habe, funktioniert die Verlinkung einfach nicht mehr, wobei der Datensatz jedoch korrekt in Assets abgelegt wird.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
V SQLite NullPointerException in preparedStatement.close(); Datenbankprogrammierung 8
C NullPointerException auf 1nem Rechner von 2 Datenbankprogrammierung 19
X SQLite Erhalte bei Query INSERT INTO eine NullPointerException Datenbankprogrammierung 10
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
D Oracle NullPointerException bei select mit Null Values Datenbankprogrammierung 5
D NullPointerException bei DB Verbindung Datenbankprogrammierung 6
T NullPointerException bei Verbindung zur Datenbank Datenbankprogrammierung 4
T NullpointerException Datenbankprogrammierung 10
B ResultSet wirft komische NullPointerException. Datenbankprogrammierung 3
J Derby/JavaDB NullPointerException bei VORHANDENEM EntityManager-Objekt!!! Datenbankprogrammierung 3
Q java.lang.NullPointerException connection = null Datenbankprogrammierung 13
T NullPointerException ( EclipseLink mit OSGi) Datenbankprogrammierung 10
A NullPointerException bei DB-Abfrage Datenbankprogrammierung 2
S Jar-Ausführung / RMI / Datenbank / NullPointerException Datenbankprogrammierung 30
S nullpointerexception bei HSQLDB Datenbankprogrammierung 4
T NullPointerException bei leeren Feldern Datenbankprogrammierung 10
R NUllPointerException bei Datenbankabfrage Datenbankprogrammierung 4
S Hsqldb java.lang.NullPointerException Datenbankprogrammierung 2
A NullPointerException trotz getConnection Datenbankprogrammierung 6
H java.lang.NullPointerException Datenbankprogrammierung 7
P Probleme mit NullPointerException Datenbankprogrammierung 5
T SQL-Statement Datenbank nach SQL Statement schließen? Datenbankprogrammierung 7
M Datenbank Zugraff nach Umwandlung in .jar-Datei nicht mehr möglich Datenbankprogrammierung 4
N Datenbank abfragen nach bestimmten Wort Datenbankprogrammierung 7
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
J Sql Anfrage nach einer Zeile beenden Datenbankprogrammierung 6
ruutaiokwu SQL-Dump nach MariaDB laden? Datenbankprogrammierung 6
T JPA: Nach String statt Primärschlüssel suchen Datenbankprogrammierung 9
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
S MySQL JTable zeigt nach Datenbankabfrage eine Spalte zu viel an Datenbankprogrammierung 0
D MySQL Suche nach Max Value in einer Tabelle Datenbankprogrammierung 7
M SQLite Suche nach String Datenbankprogrammierung 4
G PostgreSQL Nach Monaten auf einmal ClassNotFound-Exception Datenbankprogrammierung 3
C MySQL JTable in JScrollPane nach insert aktualisieren Datenbankprogrammierung 3
J SQLite Datenverlust nach beenden des Programmes Datenbankprogrammierung 21
J Fehlende DatenbankView nach einbeziehen von JDBC Datenbankprogrammierung 3
B Leerzeichen nach Umlaut -> Sichtbar erst nach Query! Datenbankprogrammierung 6
D Zeit von SQL nach Java Datenbankprogrammierung 2
M DB-Zugriff funktioniert nach JAR-Erstellung nicht mehr Datenbankprogrammierung 3
AssELAss Oracle Suche nach Umlauten Ä und Ae ermöglichen Datenbankprogrammierung 11
G HSQLDB Inserts/Updates sind nach Neustart der Anwendung Datenbankprogrammierung 1
S MySQL Nach wiederholtem Update falsche Werte (im Speicher?) Datenbankprogrammierung 1
Z PDF nach Formate sortieren Datenbankprogrammierung 3
A Nach Export mysql Verbindung zur Datenbank nicht möglich, was tun? Datenbankprogrammierung 7
F Java SQL Syntax Error erst nach mehrmaligen Aufrufen Datenbankprogrammierung 3
R vor/nach INSERT mysql-SETS absetzen Datenbankprogrammierung 2
C Programm wird nach DB-Eintrag nicht weitergeführt Datenbankprogrammierung 5
E Abfrage nach existierender SQL-Tabelle Datenbankprogrammierung 7
P MySQL Verbindung nach außen sehr langsam Datenbankprogrammierung 4
S Nochmals: ID ermitteln nach Insert Datenbankprogrammierung 2
P JPA- Entities bleiben nach dem Löschen (unsichtbar?) in der Datenbank Datenbankprogrammierung 6
GianaSisters MS SQL unter Netbeans OK - nach konvertieren Absturz Datenbankprogrammierung 6
R SQL Abfrage, je nach ausgewählten Parametern Datenbankprogrammierung 11
I Zugriff auf Datenbank nach Erstellen einer Executable Jar Datei verweigert Datenbankprogrammierung 10
M Datenbankeintrag bleibt nach Löschen in JSP vorhanden Datenbankprogrammierung 8
0 Filtern nach mehreren Kriterien Datenbankprogrammierung 4
T filtern nach expliziten Worten trotz LIKE '%Wort%' Datenbankprogrammierung 2
E Nach Server wechsel Datenbank fehler ?!? Datenbankprogrammierung 3
F SQL ordnen nach zueinander in Verhältnis gesetzten Spaltenwerten Datenbankprogrammierung 11
J SQL: Sortierung nach Wortlänge Datenbankprogrammierung 2
Java.getSkill() Datensatz / Tupel automatisch nach xy Tagen / Stunden löschen Datenbankprogrammierung 7
T Eintragung in einer Spalte nach Abfrage Datenbankprogrammierung 11
E Hibernate Session closed nach Transaction commit? Datenbankprogrammierung 7
K Rundungsfehler bei Gleitkommazahlen von Java nach SQL Datenbankprogrammierung 2
B Spaltennamen von MySQL Datenbank nach Java auslesen Datenbankprogrammierung 10
alexpetri Problem mit jdbc MS Access / nach 670 inserts ist schluss. Datenbankprogrammierung 4
tfa Apache DBCP: Reconnect nach Timeout? Datenbankprogrammierung 3
M mySQL zugriff funktionert nach ca4 stündiger laufzeit nicht Datenbankprogrammierung 6
G Hilfe: Werte sind alle x2 (oder mehr) nach JOIN Datenbankprogrammierung 13
M sql-code für suche in tabelle nach höchster transaktionsnr Datenbankprogrammierung 12
T ibatis + "generated p-key" nach insert? Datenbankprogrammierung 24
G Herausfinden des Primary Keys nach INSERT-Kommando? Datenbankprogrammierung 4
T Tabellen aus Datenbank 1 nach Datenbank 2 Datenbankprogrammierung 2
C Resultset nach connection close weiterreichen Datenbankprogrammierung 5
E JDBC, ForwardOnly bei ResultSet nach Uebergabe Datenbankprogrammierung 4
G Suchen nach Autowerten in Access-DB Datenbankprogrammierung 20
D JAVA hängt nach SQL Abfrage Datenbankprogrammierung 7
I Nach export zur .jar keine verbindung mehr Datenbankprogrammierung 7
M Datenbankverbindung bricht nach ca. 12 Stunden Verbindung ab Datenbankprogrammierung 3
R Nach String in MySQL datenbank suchen Datenbankprogrammierung 7
M Daten von MySQL nach MSSql probleme beim schreiben Datenbankprogrammierung 3
G File nach Blob konvertieren ? Datenbankprogrammierung 6
M Abfrage trennt Ergbnis eines Atrributes nach den Leerzeichen Datenbankprogrammierung 4
F Treiber nachladen oder nach Bedarf Datenbankprogrammierung 4
P Primärschlüssel direkt nach der Eingabe wieder auslesen Datenbankprogrammierung 7
R MySQL Syntax für suche nach Textteil Datenbankprogrammierung 8
Maxim6394 JPA: IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST Datenbankprogrammierung 1
V HSQLDB detached entity passed to persist: server.Employee Datenbankprogrammierung 4
D Unterschied merge() und persist Datenbankprogrammierung 3
M JPA-Persist Problem Datenbankprogrammierung 2
M JPA Verständnisproblem - persist(), merge(), getReference() Datenbankprogrammierung 15

Ähnliche Java Themen

Neue Themen


Oben