Bonjour à tous,
J'aurai deux question à soumettre :
1. je souhaite récupérer l'annotation embeddedId de l'EJB ci dessus
pour ce faire j'utilise ce bout de code !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @Entity @Table(name = "film_actor") @NamedQueries({@NamedQuery(name = "FilmActor.findByActorId", query = "SELECT f FROM FilmActor f WHERE f.filmActorPK.actorId = :actorId"), @NamedQuery(name = "FilmActor.findByFilmId", query = "SELECT f FROM FilmActor f WHERE f.filmActorPK.filmId = :filmId"), @NamedQuery(name = "FilmActor.findByLastUpdate", query = "SELECT f FROM FilmActor f WHERE f.lastUpdate = :lastUpdate")}) public class FilmActor implements Serializable { private static final long serialVersionUID = 1L; @EmbeddedId protected FilmActorPK filmActorPK; @Column(name = "last_update", nullable = false) @Temporal(TemporalType.TIMESTAMP) private Date lastUpdate; ...
Mais malheureusement le résultat me donne la valeur "null"
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
20
21
22
23
24
25 final Field[] fields = classEJB.getDeclaredFields(); for (Field field : fields) { final Id id = field.getAnnotation(Id.class); for (Annotation anno : field.getAnnotations()) { LOGGER.debug("annot : " +anno.annotationType().getName()); } if (id == null) { final EmbeddedId embeddedId = field.getAnnotation(EmbeddedId.class); LOGGER.debug("embeddedId = " + embeddedId); if(embeddedId != null) { LOGGER.debug(columnEJB.name() + " is a embeddedPK"); LOGGER.debug(embeddedId.annotationType().getSimpleName()); } } else { LOGGER.debug(columnEJB.name() + " is a PK"); } }
2. Même question que pour la premiere mais concernant l'annotation "joinColumn"
Je vous remercie d'avance pour le temps que vous me consacrez
Bonne we à tous.
Partager