IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java EE Discussion :

Entity en lecture seule


Sujet :

Java EE

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité(e)
    Invité(e)
    Par défaut Entity en lecture seule
    Bonjour,

    Savez vous quel est l'équivalent en EJB3 des Entity en lecture seule ou lecture écriture que les EJB2 proposaient ?

    par exemple en EJB2 pour définr qu'un Entity était en read-only on utilisait l'annotation Xdoclet suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     * @jboss.read-only
     * read-only = "true"
    Comment fait on en EJB3 ?

    merci

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Le seul moyen que je connaisse est lié à l'annotation @Column avec updatable="false", insertable="false"...

    PasTopAble = true, je te l'accorde
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    ok j'y avais pensé mais je pensais qu'il y'avait quelque chose d'officiel

    En faite notre application est en EJB2 du coup on est obligé d'avoir une duplication de code! un Entity accessible en lecture écriture et un autre Entity (le même) accessible uniquement en lecture.

    Ainsi les EJB3 ne permettent donc pas de palier ce soucis.

    Je suppose que les problèmes de deadlock sont donc toujours d'actualité pour ce genre procédé ?

    merci beaucoup

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    quelqu'un a déjà réussi à faire en sorte que deux Entity pointent vers la même table ?

    mon but était d'avoir

    un Entity tache en lecture écriture "Taches"
    ainsi que
    un Entity tache en lecture uniquement "TAchesRO"

    j'ai donc fait mes deux Entity
    celui en lecture écriture "Taches" fonctionne correctement
    en revanche celui déterminé en lecture uniquement "TAchesRO" (avec updatable="false", insertable="false" sur chaque champs) ne fonctionne pas.

    Lorsque je veux récupérer la liste des taches j'obtient un NullPointerException.

    ps: Ma tache est liée à une Priorité de cette manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     @ManyToOne()
        @JoinColumn(name = "refPriorite", referencedColumnName = "idpriorite", nullable=false)
        private TachesPriorite refPriorite;
    mais je ne fait pas cette liaison pour la tache en lecture seule sinon j'ai d'autres erreurs.

    quelqu'un aurait une piste ?

    Edit:
    Bon cela fonctionne, mon erreur est la fatigue je crois, j'avais pas initialisé une variable

    merci
    Dernière modification par Invité(e) ; 30/06/2008 à 17h22.

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    bonjour,

    voci juste une petite confirmation pour dire qu'il n'y a pas pour le moment de read only avec JPA

    Citation Envoyé par Apress pro EJB3 Java Persistence API may 2006 page 230 chap 8

    Read-Only Mappings

    The Java Persistence API does not really define any kind of read-only entity, although it will likely show up in a future release. The API does, however, define options to set individual mappings to be read-only using the insertable and updatable elements of the @Column and @JoinColumn annotations. These two settings default to true but may be set to false if we want to ensure that the provider will not insert or update information in the table in response to changes in the entity instance. If the data in the mapped table already exists and we want to ensure that it will not be modified at runtime, then the insertable and updatable elements can be set to false, effectively preventing the provider from doing anything other than reading the entity from the database.
    et ça confirme bien ton procédé OButterlin

    donc même si PasTopAble = true comme tu dis, c'est bien l'unique moyen de procéder pour l'instant

Discussions similaires

  1. Lecture seule et OpenDialog
    Par Fanny28 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 19/02/2004, 15h36
  2. requete en lecture seule
    Par mvg dans le forum InterBase
    Réponses: 8
    Dernier message: 04/02/2004, 17h21
  3. [TQuery][DBGRID] pb de mise à jour: table en lecture seule
    Par Chrystèle Carré dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/11/2003, 09h36
  4. Réponses: 5
    Dernier message: 28/10/2003, 15h01
  5. [firebird] Connexion impossible en lecture seule
    Par severine dans le forum Administration
    Réponses: 2
    Dernier message: 01/08/2003, 15h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo