Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列表<;地图>;泛型类型映射的引用<;K、 V>;应该参数化_Java_Jpa_Eclipselink - Fatal编程技术网

Java 列表<;地图>;泛型类型映射的引用<;K、 V>;应该参数化

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

为什么我在Eclipse项目中得到这个分数?有人能给我解释一下吗?或者给我一个补丁

  • 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()可能重复的