Sie befinden sich aktuell in den RadLog Blog-Archiven für den folgenden Tag Freitag den 4. Juli 2008.
| M | D | M | D | F | S | S |
|---|---|---|---|---|---|---|
| « Jun | Aug » | |||||
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||
- Sonntag den 26. Juni 2011: Southside 2011
- Sonntag den 12. Juni 2011: R.i.P. 2011
- Montag den 7. Juni 2010: R.i.P. 2010
- Samstag den 10. Januar 2009: Brüssel die (aller) letzte
- Donnerstag den 8. Januar 2009: Brüssel die sechste
- Dienstag den 6. Januar 2009: Brüssel die fünfte
- Montag den 5. Januar 2009: Brüssel die vierte
- Montag den 5. Januar 2009: Brüssel die dritte
- Sonntag den 4. Januar 2009: Brüssel die zweite
- Sonntag den 4. Januar 2009: Brüssel
Blogroll
Archive für Freitag den 4. Juli 2008
Ich bin nicht allein
Freitag den 4. Juli 2008 von Matze.
Seit einiger Zeit arbeite ich an einem Projekt für einen Kunden. Dort wird die JPA mit der Implementierung Toplink Essentials verwendet.
Was mich das Ding Nerven gekostet hat!!!!!! Manchmal hab ich den Eindruck da sind mehr Fehler als funktionierende Features drin. So ein paar Highlights sind:
- Die Umsetzung von EJBQL (oder JPQL) in SQL funktioniert nicht fehlerfrei. Wenn man es geschickt anstellt (so wie ich) baut er einen Select der ein kartesisches Produkt zurückliefert.
- Laut Dokumentation lässt sich über einen Hint festlegen wie gecached werden soll. In einem Master Detail Modell funktioniert das aber immer nur für den Master…
- Zumindest im OC4J kann ich nur einen persistence Provider verwenden. Das ist ja ganz prima, und was mache ich wenn ich Daten aus mehr als einer Datenbank benötige?
- Das schreiben über merge funktioniert nicht zuverlässig. Ich hab wirklich an mir gezweifelt, aber es stimmt: Ab und zu vergisst der Toplink Essentials einfach Daten in die Datenbank zu schreiben. Obwohl ich ihm schon mit einem explizitem Merge gesagt habe er soll das tun! Mir war nicht möglich darin in irgendeiner Form einen Determinismus zu erkennen!
- Und da kommt dann auch schon der nächste Bug: wenn der merge bei einem Detail Objekt einen Update machen soll dann “vergisst” er das auf jeden Fall!
So schön die JPA ist, mit Toplink Essentials kann man das nicht verwenden! Da ist man nur am Workaround bauen.
Ich habe schon einige sachen mit JPA und Hibernate gemacht. Der ist zwar jetzt auch nicht so ganz ohne, aber er hat (zumindest bei mir) immer ohne Probleme funktioniert.
Jetzt habe ich aber heute das hier auf diesem Blog entdeckt:
“For now I’ll keep using OpenJPA until the Glassfish people can make Toplink Essentials stop sucking so damn much. OpenJPA is a bit more pedantic anyway, and that’s a good thing. My code should end up tighter as a result”
Ich glaub ich muss mir mal OpenJPA angucken.
Geschrieben in Java / JEE | Keine Kommentare »