Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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 使用Hibernate HQL结果避免安全警告?_Java_Hibernate_Generics - Fatal编程技术网

Java 使用Hibernate HQL结果避免安全警告?

Java 使用Hibernate HQL结果避免安全警告?,java,hibernate,generics,Java,Hibernate,Generics,例如,我有这样的疑问: @SuppressWarnings("unchecked") public List<MenuItems> listAllMenuItems() { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); List<MenuItems> menuItems = null;

例如,我有这样的疑问:

@SuppressWarnings("unchecked")
public List<MenuItems> listAllMenuItems() {

    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    session.beginTransaction();
    List<MenuItems> menuItems = null;
    try {

        Criteria cr = session.createCriteria(MenuItems.class);
        menuItems = cr.list();

    } catch (HibernateException e) {
        session.getTransaction().rollback();
    }
    session.getTransaction().commit();
    return menuItems;
}
@SuppressWarnings(“未选中”)
公共列表listAllMenuItems(){
会话会话=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List menuItems=null;
试一试{
Criteria cr=session.createCriteria(MenuItems.class);
menuItems=cr.list();
}捕获(休眠异常e){
session.getTransaction().rollback();
}
session.getTransaction().commit();
返回菜单项;
}
有没有办法避免使用Hibernate HQL结果出现类型安全警告


谢谢。

使用集合。检查列表()

List cats=Collections.checkedList(cr.List(),MenuItems.class);

或者使用@suppressWarnings,这是您在代码中指定的

我认为它可以解决您的问题

List menuItems=Collections.checkedList(cr.List(),menuItems.class)

有关详细信息,请检查此线程

List<MenuItems> cats = Collections.checkedList(cr.list(), MenuItems.class);