Es ist bekannt, dass Oracle leere Zeichenketten als Null behandelt.
Allerdings habe ich ein Problem wegen dieses Verhaltens aufgrund von JPA-Caching.
Zuerst habe ich mit JPA (Toplink Essentials) eine Entität aufrechterhalten, die einen leeren String als ein Feld hat. Oracle konvertiert diesen Wert in Null, wenn es ihn speichert.
Wenn ich jedoch die Entität abrufe, scheint JPA sie aus dem Cache zurückzugeben, wo dieses Feld immer noch eine leere Zeichenfolge ist. JPA scheint nicht zu wissen, dass das, was in der Datenbank gespeichert wurde, eigentlich ein Nullwert war, und diese Inkohärenz verursacht Probleme.
Gibt es eine Möglichkeit, dieses Problem auf der JPA- oder Anwendungsserver (Oracle AS) Konfigurationsebene zu lösen? Dies ist etwas, das ich nicht in der Anwendungsebene beheben möchte (aber tun wird, wenn es notwendig ist).