如何消除"未经检查"使用JPA时的警告

时间:2013-02-24 11:42:24

标签: java jpa persistence

我用javax.persistence进行了很多查询。而且Java迫使我要么受到警告,要么@Suppress他们,这两种感觉都不对。

@SuppressWarnings("unchecked")
@Override
public List<Area> getArea(Province province) {
    Query qry = em.createQuery("Select c from Area c where c.province = ?1");
    qry.setParameter(1, province);
    return qry.getResultList();
}

如何消除上述代码中的警告?

2 个答案:

答案 0 :(得分:8)

如果您使用的是JPA注释,请使用TypedQuery代替Query

TypedQuery<Area> qry = em.createQuery(
    "Select c from Area c where c.province = ?1", Area.class);

答案 1 :(得分:1)

您可以使用Criteria API来避免这种情况。查看this question了解如何使用它的信息。