Je cette requêteDonnées de ressort. obtenir des valeurs personnalisées, sélectionnez (non entité)
String query = "select ig.p1,
ig.p2,
ig.p3,
tg.p4
from mytable ig, mytable2 tg
where ..... and ....";
Et je DTO
public class MyDto{
//constructor
private String p1;
private String p2;
private String p3;
private String p4;
...
//getters/setters
}
Je dois obtenir cette sélection et la cartographie de DTO.
-je créer dans mon DTO
@SqlResultSetMapping(
name="findReport",
classes={
@ConstructorResult(
targetClass=MyDto.class,
columns={
@ColumnResult(name="p1",type = String.class),
@ColumnResult(name="p2", type = String.class),
@ColumnResult(name="p3", type = String.class),
@ColumnResult(name="p4", type = String.class),
}
)
}
)
Et créer DAO/Repository
@Component
public class ReportRepositoryImpl implements ReportRepository {
@PersistenceContext
private EntityManager em;
@Override
public Report findReportSelect() {
Query query = em.createNativeQuery(
"query","findReport");
@SuppressWarnings("unchecked")
Collection<MyDto> dto = query.getResultList();
Iterable<MyDto> itr = dto;
return (MyDto)itr;
}
}
Mais je erreur unchecked
Mes quations 1. Comment puis-je corriger cette erreur et que signifie cette erreur? 2. Y a-t-il un moyen plus facile d'obtenir ce résultat?