【问题标题】:How to convert list type in Java hibernate如何在 Java hibernate 中转换列表类型
【发布时间】:2009-10-05 12:08:42
【问题描述】:

在 java 应用程序中,我使用休眠条件查询, 例如:

Criteria criteria = session.createCriteria(Any.class);
...

List<?> list = criteria.list();

我当然知道结果列表只包含 Any 类型的对象,但是 不知道能不能得到上面定义的类型列表?

在这种情况下,如果我想使用 foreach,则需要将类型从对象转换为类型 Any

for(Object object : list) {
    ...
    ((Any)object).
    ...
}

或者如果我需要一个数组,我必须这样做:

list.toArray(new Any[]{});

你有什么想法吗?

【问题讨论】:

    标签: java hibernate generics list


    【解决方案1】:

    Hibernate 不支持泛型。所以下面的代码是你得到的“最好的”:

    @SuppressWarnings("unchecked")
    List<Any> resultList = criteria.list();
    
    for(Any any : resultList){ ... }
    

    也许

    List<Any> resultList = criteria.list();
    for(Any any : resultList){ ... }
    

    更好,因为类型警告仍然存在。编译器无法检查此转换。所以警告没问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 2016-09-19
      • 1970-01-01
      • 2020-11-02
      相关资源
      最近更新 更多