Bonjour,

La base est Sybase, le type de date est datetime.


Classe Calendrier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
	@Id
	@Column(name = "CAL_CODE" )
	private Integer codeCalendrier;
 
	@OneToMany(fetch = FetchType.EAGER)
	@JoinColumn(name = "CAL_CODE")
	private List<JourFerie> lstJourFerie;
...

Classe JourFerie:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@EmbeddedId
	private JourFeriePK pk;
 
	public static class JourFeriePK implements Serializable {
 
		@ManyToOne(fetch = FetchType.LAZY)
		@JoinColumn(name = "CAL_CODE")
		private Calendrier calendrier;
 
		@Column(name = "JF_DATE", columnDefinition="datetime")
		@Temporal(TemporalType.TIMESTAMP)
		private Date jourFerie;
...
}
Si je fais du native query, voilà la requête que je veux faire (et qui donne ce que je veux dans un requêteur SQL) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select cal.*, jf.* from CALENDRIER cal, JOUR_FERIE jf
where cal.CAL_CODE *= jf.CAL_CODE 
and datediff(dd, getDate(), jf.JF_DATE) >= 0
Rien à faire, ça me sort toutes les dates!
EDIT : mieux, si je fait datediff(yy, getDate(), jf.JF_DATE) ça ne me sort aucune ligne (alors qu'évidememnt j'en ai en base)

Merci par avance.