Bonjour à tous,

J'aimerais savoir si d'après vous il est possible de faire un traitement particulier entre le moment où une donnée quelconque est transmise de la base de données à l'entity bean?

J'aimerais pouvoir lancer une expression régulière sur un attribut particulier d'une bean afin d'enlever les accents.

Le problème que j'ai est que j'utilise PostgreSQL 9.0.3 et EJB2 pour la couche métier. PostgreSQL est sensible à la casse et aux accents, et il n'est pas possible de modifier ce comportement. Je sais qu'il existe le mot clé ILIKE (pour insensitive LIKE) dans PostgreSQL, mais la plupart de mes requêtes sont faites à partir d'EJB finder avec le langage EJB-QL ou jBoss-QL. Je ne peux donc pas utiliser ILIKE mais bien LIKE ou =. Ceci fait donc en sorte que des expressions comme "Stéphane" ne retournent pas les "Stephane", et vice versa.

J'aimerais donc pouvoir :
- soit me faire un getter personnalisé (en plus de celui de base) dans lequel je pourrais lancer ma méthode au chargement de l'entity bean;
- soit altérer le getter par défaut pour l'attribut qui représente vraiment le champ dans la base de données.

Quelqu'un a une idée?

Voici un exemple d'un getter pour ma classe "Users"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
    /**
     * Getter for CMP Field strUserLastName
     *
     *
     * @ejb.persistent-field
     * 
     * @ejb.interface-method  
     *          view-type = "local"
     */
    public abstract java.lang.String getStrUserLastName();
 
    /**
     * Setter for CMP Field strUserLastName
     *
     * @ejb.interface-method  
     *          view-type = "local"
     */
    public abstract void setStrUserLastName(java.lang.String value);
Merci beaucoup