我有这个查询
String query = "select ig.p1,
ig.p2,
ig.p3,
tg.p4
from mytable ig, mytable2 tg
where ..... and ....";
我有 DTO
public class MyDto{
//constructor
private String p1;
private String p2;
private String p3;
private String p4;
...
//getters/setters
}
我需要得到这个选择并映射到 DTO。
我在我的 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),
}
)
}
)
并创建 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;
}
}
但我有错误unchecked
我的问题 1. 我该如何解决这个错误以及这个错误意味着什么?2.有没有更简单的方法得到这个结果?