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

Hibernate Java Discussion :

[hibernate] Forcer id auto-généré


Sujet :

Hibernate Java

  1. #1
    Membre habitué Avatar de nesbla
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 220
    Points : 139
    Points
    139
    Par défaut [hibernate] Forcer id auto-généré
    Bonjour,

    J'ai un pojo avec son id auto-généré. Je souhaite dans certains cas forcer un id lors d'un insert. Le problème c'est que lorsque je fais un

    avec l'id de "monPojo" déjà initialisé à la main, hibernate se sent obligé de me régénérer un id... Au final je me retrouve avec des données en base erronés.

    Voyez-vous un solution ?

    Merci,
    Loïc
    ··· Champion des excuses bidons ··· Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet !

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    As tu essayé avec un generator de type "assigned " pour ton id ?

  3. #3
    Membre habitué Avatar de nesbla
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 220
    Points : 139
    Points
    139
    Par défaut
    Alors je ne connais pas "assigned", je vais jeter un coup d'œil mais j'ai un generator personnalisé qui générè un id de type "chaine + id auto-incrémenté". Je ne pense donc pas pouvoir modifier son type.
    ··· Champion des excuses bidons ··· Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet !

  4. #4
    Membre habitué Avatar de nesbla
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 220
    Points : 139
    Points
    139
    Par défaut
    Problème résolu, j'ai modifié mon SequenceGenerator perso de manière à ce qu'il ne génère pas un nouvel id si ce dernier à déjà été initialisé. Dans ce cas là il se contente de retourner l'id initialisé à la main.

    Mon SequenceGenerator qui fournit un id du type [site+id auto-incrementé] :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class SiteSequenceGenerator extends SequenceGenerator {
     
    	private String siteId = Utils.getProperty("siteId");
     
    	public Serializable generate(SessionImplementor session, Object obj) throws HibernateException {
    		if ((((GeneratedIdPojo)obj).getId()) == null) {
    			return siteId + super.generate(session, obj);
    		}
    		else {
    			return ((GeneratedIdPojo)obj).getId();
    		}
    	}	
    }
    ··· Champion des excuses bidons ··· Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SSL] Des certificats auto-générés ?
    Par divxdede dans le forum Sécurité
    Réponses: 1
    Dernier message: 18/10/2007, 12h15
  2. Obtenir la valeur de l'id auto généré
    Par jdelges dans le forum DB2
    Réponses: 2
    Dernier message: 21/03/2007, 13h39
  3. Hibernate 3 et auto contexte?
    Par petozak dans le forum Hibernate
    Réponses: 2
    Dernier message: 14/03/2007, 14h00
  4. [SQL 2k]Forcer un auto incrément ?
    Par elflamby dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/11/2006, 13h16
  5. [Access 2003] forcer num auto pour 6 requetes
    Par dakoyaz dans le forum Access
    Réponses: 19
    Dernier message: 19/05/2006, 16h08

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