Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
Hibernate 从“休眠”表中选择“全部”_Hibernate - Fatal编程技术网

Hibernate 从“休眠”表中选择“全部”

Hibernate 从“休眠”表中选择“全部”,hibernate,Hibernate,所以我有以下代码: Query query = session.createQuery("from Weather"); List<WeatherModel> list = query.list(); WeatherModel w = (WeatherModel) list.get(0); 有什么问题吗?天气将是一个与WeatherModel不同的实体。 您的列表将包含天气对象,仅当它是WeatherModel的子类型时,才能对其进行强制转换//你会

所以我有以下代码:

Query query = session.createQuery("from Weather");
        List<WeatherModel> list = query.list();
        WeatherModel w = (WeatherModel) list.get(0);

有什么问题吗?

天气将是一个与WeatherModel不同的实体。 您的列表将包含天气对象,仅当它是WeatherModel的子类型时,才能对其进行强制转换//你会得到她想要的东西
Query query = session.createQuery("from Weather"); //You will get Weayher object
List<WeatherModel> list = query.list(); //You are accessing  as list<WeatherModel>
List=query.List()//您正在作为列表访问 它们都是不同的实体

Query query = session.createQuery("from Weather"); 

 List<Weather> list = query.list(); 

Weather w = (Weather) list.get(0);
Query Query=session.createQuery(“来自天气”);
List=query.List();
天气w=(天气)列表。获取(0);

我刚刚遇到了一个类似的问题,通过提供您试图查询的对象的完整路径,似乎已经解决了这个问题。因此,当我将其设置为session.createQuery(“from com.mystuff.something.or.other.MyEntity”)时,它起到了作用。

在复杂的项目中,我不希望用字符串文字硬编码实体名称:

Session session = sessionFactory.getCurrentSession();
CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder();
CriteriaQuery<WeatherModel> criteriaQuery = criteriaBuilder.createQuery(WeatherModel.class);
Root<WeatherModel> root = criteriaQuery.from(WeatherModel.class);
criteriaQuery.select(root);
Query<WeatherModel> query = session.createQuery(criteriaQuery);
List<WeatherModel> weatherModelList = query.getResultList();
Session Session=sessionFactory.getCurrentSession();
CriteriaBuilder CriteriaBuilder=session.getCriteriaBuilder();
CriteriaQuery-CriteriaQuery=criteriaBuilder.createQuery(WeatherModel.class);
Root=criteriaQuery.from(WeatherModel.class);
criteriaQuery.select(root);
Query Query=session.createQuery(criteriaQuery);
List weatherModelList=query.getResultList();

修复了错误,新错误:java.lang.ClassCastException:[Ljava.lang.Object;无法在action.WeatherAction.validate(WeatherAction.java:29)处转换为model.WeatherModel。新错误:HTTP状态500-天气未映射[来自天气]这个问题很难理解,请1.在代码中输入行号,2.更新问题而不是添加注释…(或删除它并创建一个新的)类型安全答案可能重复:如果WeatherModel表非常大,如何处理?有没有办法每次选择1000条记录?@coderz我可以推荐使用分页列表?
createQuery(“来自天气”).setFirstResult(firstResult).setMaxResults(maxResults).getResultList();
我已编辑了您的答案;您可以将代码缩进4个空格,将其放入
代码标记中。您的答案在低质量队列中。您可以通过解释此代码如何解决问题来改进您的答案。
Session session = sessionFactory.getCurrentSession();
CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder();
CriteriaQuery<WeatherModel> criteriaQuery = criteriaBuilder.createQuery(WeatherModel.class);
Root<WeatherModel> root = criteriaQuery.from(WeatherModel.class);
criteriaQuery.select(root);
Query<WeatherModel> query = session.createQuery(criteriaQuery);
List<WeatherModel> weatherModelList = query.getResultList();