当前位置: 首页 > 知识库问答 >
问题:

将Map转换为Map[重复]

卫博雅
2023-03-14

我在一个类中有以下代码,它扩展了Primefaces的LazyDataModel

@Override
    public List<Project> load(int first, int pageSize,
            String sortField, SortOrder sortOrder, Map<String, String> filters) {

在上面的过滤器是类型Map

在Hibernate实体类中,我有以下内容

private Long projectNo; // with getters and setters

在DAO类中,我还可以在JSF页面中进行搜索并返回结果

public void getProjects(ProjectQueryData data) { 

Map<String, String> filters = data.getFilters();
// ....
....

String projectNo = filters.get("projectNo");
List<Predicate> criteria = new ArrayList<Predicate>();
            if (projectNo!= null) {
                ParameterExpression<String> pexp = cb.parameter(String.class,
                        "projectNo");               
                Predicate predicate = cb.equal(emp.get(Project_.projectNo),
                        pexp);
                criteria.add(predicate);
            }
TypedQuery<Project> q = entityManager.createQuery(c);
TypedQuery<Long> countquery = entityManager.createQuery(countQ);
q.setParameter("projectNo", projectNo); // error in this line
countquery.setParameter("projectNo", projectNo);

当我执行上述操作时,我得到以下异常

Hibernate Parameter value [89457] did not match expected type [java.lang.Long]

因为projectNo的长度很长。

我的问题是我怎样才能投射Map

任何帮助都是值得赞赏的。

谢啦


共有1个答案

蒲寂离
2023-03-14

您不能强制转换Map

在这种情况下,您似乎还可以通过将其强制转换为字符串或在Map中设置之前很久实现修复,

String.valueOf(projectNo);

or 

Long.toString(projectNo);

在需要的地方。

 类似资料:
  • 我收到编译器错误无法解析方法“get key()”

  • 问题内容: 我有一些要转换成的属性 我可以从json.org或使用什么吗? 问题答案: 使用来自http://json.org/的 Jackson(http://jackson.codehaus.org/)

  • 问题内容: 像这样转换JSON代码的最佳方法是什么: 在Java Map中,其中一个键为(field1,field2),而这些字段的值为(value1,value2)。 有任何想法吗?我应该使用Json-lib吗?或者,如果我编写自己的解析器会更好? 问题答案: 我希望您在开玩笑编写自己的解析器。:-) 对于这种简单的映射,http://json.org(java部分)中的大多数工具都可以使用。对

  • 我有一个,并希望该流的每个元素都进行一些计算并将它们返回为,其中键是int值,值是该计算的结果。我写了以下一段代码: 其中,计算第m个(整数a)。我发现下一个编译器错误 我做错了什么?

  • 问题内容: 从来源来看,我无法影响我在地图中获得的数据,该地图以表示。 我需要处理所包含的数据,最好是(其中的数据非常适合该处理)。 我还需要从数据中生成键列表,因为这些键是事先未知的。 我可以在网上找到的大多数类似问题或多或少都说这是不可能的,但是如果我的地图是,则表明数据在那里,可读性为。 我该怎么办fmt.Println可以做什么? 问题答案: 处理未知接口的一种安全方法,只需使用fmt.S

  • 问题内容: 像这样转换JSON代码的最佳方法是什么: 在Java Map中,其中一个键为(field1,field2),而这些字段的值为(value1,value2)。 有任何想法吗?我应该使用Json-lib吗?或者,如果我编写自己的解析器会更好? 问题答案: 我希望你在开玩笑地编写自己的解析器。: 对于这样的简单映射,http://json.org(java部分)中的大多数工具都可以使用。对于