Utilizzo EclipseLink per eseguire alcuni SQL nativi. Devo restituire i dati in un POJO. Ho seguito le istruzioni allo EclipseLink Docs, ma ricevo l'errore Missing descriptor for [Class]
Risultato query nativa EclipseLink in POJO: descrittore mancante per [Classe]
Le colonne della query sono state denominate per corrispondere alle variabili membro del POJO. Devo fare qualche mappatura aggiuntiva?
POJO:
public class AnnouncementRecipientsFlattenedDTO {
private BigDecimal announcementId;
private String recipientAddress;
private String type;
public AnnouncementRecipientsFlattenedDTO() {
super();
}
public AnnouncementRecipientsFlattenedDTO(BigDecimal announcementId, String recipientAddress, String type) {
super();
this.announcementId = announcementId;
this.recipientAddress = recipientAddress;
this.type = type;
}
... Getters/Setters
Entity Call Manager:
public List<AnnouncementRecipientsFlattenedDTO> getNormalizedRecipientsForAnnouncement(int announcementId) {
Query query = em.createNamedQuery(AnnouncementDeliveryLog.FIND_NORMALIZED_RECIPIENTS_FOR_ANNOUNCEMENT, AnnouncementRecipientsFlattenedDTO.class);
query.setParameter(1, announcementId);
return query.getResultList();
}
Condivide l'Entity devono essere associati a un tavolo o può essere libero? – retrodev
Sicuramente questa è la risposta per risolvere il problema. Nel caso in cui si desideri mappare su DTO, è possibile utilizzare @SqlResultSetMapping –