Java 列表<;地图>;泛型类型映射的引用<;K、 V>;应该参数化
为什么我在Eclipse项目中得到这个分数?有人能给我解释一下吗?或者给我一个补丁Java 列表<;地图>;泛型类型映射的引用<;K、 V>;应该参数化,java,jpa,eclipselink,Java,Jpa,Eclipselink,为什么我在Eclipse项目中得到这个分数?有人能给我解释一下吗?或者给我一个补丁 Map是一种原始类型。对泛型类型映射的引用应参数化 类型安全性:类型列表的表达式需要未经检查的转换才能符合列表 public Integer getAgenteId(Integer agente) { try { String sql = "SELECT id_agente FROM callcenter.agente WHERE agente = ? "; Ent
- Map是一种原始类型。对泛型类型映射的引用应参数化
- 类型安全性:类型列表的表达式需要未经检查的转换才能符合列表
public Integer getAgenteId(Integer agente) {
try {
String sql = "SELECT id_agente FROM callcenter.agente WHERE agente = ? ";
EntityManager em = PersistenceUtil.getEntityManager();
Query q = em.createNativeQuery(sql);
q.setHint(QueryHints.RESULT_TYPE, ResultType.Map);
List<Map> lm = q.getResultList(); // ECLIPSE MARK HERE
for (Map rs : lm) { // ANOTHER ECLIPSE MARK HERE
return (Integer)rs.get("id_agente");
}
return null;
} catch (Exception e) {
logger.error("Erro (GetAgenteId) : " + e.getMessage());
e.printStackTrace();
}
return null;
}
public整数getAgenteId(整数代理){
试一试{
String sql=“从callcenter.agente中选择id_agente,其中agente=?”;
EntityManager em=PersistenceUtil.getEntityManager();
Query q=em.createNativeQuery(sql);
q、 setHint(QueryHints.RESULT\u类型,ResultType.Map);
List lm=q.getResultList();//此处标记ECLIPSE
对于(Map-rs:lm){//这里是另一个日食标记
返回(整数)rs.get(“id_代理”);
}
返回null;
}捕获(例外e){
logger.error(“Erro(GetAgenteId):”+e.getMessage());
e、 printStackTrace();
}
返回null;
}
编辑:我不想取消警告,我想修复警告。你必须参数化
Map
像Map
一样,其中K和V分别是你的键和值类型。你必须写:List,用你得到的类型你仍然会得到第二个警告<代码>查询只是没有参数化,因此,q.getResultList()
不会返回键入的列表
。您需要的是一个cast:List lm=(List)q.getResultList()代码>可能重复的