ASTORM

Hibernate avec H2/GeoDB

En travaillant sur un serveur embarqué Java EE avec payara et H2/Geodb (car j'ai besoin d'utiliser des données spatiales), il y a une incompatibilité entre les APIs utilisées qui provoque un crash à la récupération.

Lire la suite...

EclipseLink et les champs LAZY

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...

Lire la suite...

Glassfish 4.1.1 avec Hibernate 5.0.6

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.

Lire la suite...

Bug OpenJPA: NoClassDefFoundError

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.

Lire la suite...

Fuite mémoire spéciale

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...

Lire la suite...

Vous avez dit bug ?

Récemment, dans un projet en Java EE 5, je devais valider du XML avec un XSD. L'API étant bien faite, c'est assez simple. Et voila que suite à une migration vers Java EE 6, ça ne marche plus...

Lire la suite...

Classe manquante au déploiement

Je travaille sur un projet Java Enterprise Edition séparé en plusieurs modules. Il y a 2 projets directement lié à Java EE 6 (la partie business -ejb- et la partie interface -war-) et un troisième fournissant une API générique destinée à être utilisée par d'autres modules. Il arrive parfois, avec NetBeans d'avoir un NoClassDefFoundError au déploiement...

Lire la suite...

JPA et les jointures

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...

Lire la suite...

Date et TimeZone

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...

Lire la suite...

Annotation @OneToMany

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.

Lire la suite...

- page 1 de 2