所以我有以下代码:
Query query = session.createQuery("from Weather");
List<WeatherModel> list = query.list();
WeatherModel w = (WeatherModel) list.get(0);
Run Code Online (Sandbox Code Playgroud)
我不想从表天气中获取所有项目,但我不断收到以下错误:(第23行是我创建查询的地方)
java.lang.NullPointerException
at action.WeatherAction.validate(WeatherAction.java:23)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doBeforeInvocation(ValidationInterceptor.java:251)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)............
Run Code Online (Sandbox Code Playgroud)
有什么问题?
PSR*_*PSR 10
Query query = session.createQuery("from Weather"); //You will get Weayher object
List<WeatherModel> list = query.list(); //You are accessing as list<WeatherModel>
Run Code Online (Sandbox Code Playgroud)
它们都是不同的实体
Query query = session.createQuery("from Weather");
List<Weather> list = query.list();
Weather w = (Weather) list.get(0);
Run Code Online (Sandbox Code Playgroud)
小智 5
在复杂的项目中,我不想在字符串文字中对实体名称进行硬编码:
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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
58283 次 |
| 最近记录: |