En travaillant sur un projet Java EE 7 (Glassfish + EclipseLink), je suis tombé sur un bug avec les champs étant annotés @Basic(fetch = FetchType.LAZY)
. En gros, suivant l'ordre d'appels entre les getters/setters de l'entité, les champs FetchType.EAGER
sont réinitialisés...
EclipseLink et les champs LAZY
Par Cédric Tabin le dimanche 10.01.2016, 10:00 - Java
Glassfish 4.1.1 avec Hibernate 5.0.6
Par Cédric Tabin le dimanche 03.01.2016, 11:00 - Java
Récemment, j'ai voulu utiliser la dernière version d'Hibernate comme implémentation de JPA sur un Glassfish 4.1.1. Et comme ça ne marche pas directement, voici l'astuce pour que ça fonctionne.
Bug OpenJPA: NoClassDefFoundError
Par Cédric Tabin le mercredi 27.11.2013, 22:00 - Java
Suite à mon précédent ticket, j'ai approfondi mes tests et je suis tombé sur ce qui semble être un bug majeur d'OpenJPA 2.2.2 dans sa gestion du cache des requêtes compilées. Le résultat est qu'après environ un millier d'appels au serveur, une erreur NoClassDefFoundError est renvoyée presque systématiquement.
Fuite mémoire spéciale
Par Cédric Tabin le lundi 18.11.2013, 08:00 - Java
Il y a quelque temps, je suis tombé sur des erreurs bizarres, style PermGen space ou NoClassDefFoundError qui survenaient de manière incompréhensible. En travaillant dessus, j'ai découvert quelques soucis avec la librairie de persistance...
JPA et les jointures
Par Cédric Tabin le mercredi 24.02.2010, 08:00 - Java
La Java Persistence API (JPA) est la spécification faisant partie de Java EE 5 (JEE5) définissant un langage SQL (le JPQL) sensé être portable. Toutefois je suis tombé sur une importante limitation de la spécification JPA elle-même : il n'est pas possible de mettre des conditions sur des jointures externes...
Date et TimeZone
Par Cédric Tabin le mercredi 02.09.2009, 07:00 - Java
La magie des gros projets est que l'on tombe inévitablement sur des problèmes inattendus. Et lorsque ceux-ci surviennent dans une phase avancée du développement et qu'ils sont assez profonds, cela devient vite une grosse prise de tête. C'est ce qui m'est arrivé avec le parsing de dates en Java...
Annotation @OneToMany
Par Cédric Tabin le lundi 06.07.2009, 08:00 - Java
La spécification JPA permet de manipuler des données via de simples POJOs. Pour ce faire, une panoplie d'annotations existe en Java EE pour gérer tout ça. Voici un petit tutorial sur l'annotation @OneToMany qui utilise des clés primaires composées.
JPA avec J2SE
Par Cédric Tabin le lundi 26.05.2008, 08:00 - Java
La Java Persistence API (JPA) est une spécification qui permet au développeur de faire complètement abstraction de sa base de données. Voici un petit tutorial simple avec NetBeans pour utiliser ce concept en J2SE !
PersistenceUnit dynamique
Par Cédric Tabin le mardi 13.05.2008, 23:14 - Java
Les développeurs Java verront tout de suite de quoi je parle en disant JPA (Java Persistence API). L'idée est de pouvoir complètement rendre son programme indépendant de la base de données en mappant ses tables sur de simples objets POJOs et en utilisant une PersistenceUnit pour faire la connexion.