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 :

Join sur une fourchette de date


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 126
    Par défaut Join sur une fourchette de date
    Bonjour,

    Je cherche à joindre 2 entités (avec annotation) dont la condition de jointure est une string commune et une date de l'entité 1 qui doit se trouver entre les 2 dates de l'entité 2.
    Et mon problème c'est que je ne vois pas comment définir le critère de jointure.
    Je trouve bien des exemples où 2 entités sont jointes avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    entity1.column1 = entity2.column1 AND 
    entity1.column2 = entity2.Column2
    mais ce que je cherche à faire c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    entity1.Column1 = entity2.column1 AND 
    entity1.date1 BETWEEN entity2.Date1 AND antity2.Date2
    (c'est même un poil plus complexe puisse que entity2.date2 peut être nulle mais l'idée est là)

    Est-ce que c'est seulement possible ?

    Merci pour vos réponses.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 126
    Par défaut
    J'ai trouvé finalement,

    C'est l'annotation "@Formula" qui fût salvatrice.

    Pour reprendre mon exemple ci-dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    @Column(name="Date1")
    private Date date1;
     
    @Column(name="Column1")
    private String column1;
     
    @OneToOne(targetEntity=Entity2.class)
    @JoinColumn(name="Column1", referencedColumnName="Column1")
    @Formula("select e2 from Entity2 e2 where column1 = e2.column1 AND date1 between e2.date1 and e2.date2")
    private Entity2 entity2;

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

Discussions similaires

  1. Formule de suppression sur une fourchette de date
    Par leloup84 dans le forum Formules
    Réponses: 1
    Dernier message: 19/05/2008, 17h00
  2. Requête sur une plage de date
    Par altecad dans le forum Requêtes
    Réponses: 1
    Dernier message: 23/05/2007, 15h11
  3. [Oracle 9] Requête sur une différence entre dates
    Par claralavraie dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/09/2006, 17h42
  4. Problème de contrainte sur une partie de date (l'année)
    Par shefla dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 11/04/2006, 21h50
  5. INNER JOIN sur une requete UPDATE
    Par Immobilis dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/03/2006, 14h05

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