当我们在java中创建jpql查询时如下所示 从a,b,c中选择a。,b。 c。*,其中a.id = b.id和b.id = c.id
结果是对象数组的列表,所以第一个数组是表的值,第二个是b表的值同样
我的问题是当我们在sql中编写相同的查询时,结果是什么。以及如何获取每个表的值。
答案 0 :(得分:0)
您通常会针对不同的数据运行不同的查询。
来自数据库的信息的格式为ResultSet。 ResultSet具有不同的字段。
示例:
PreparedStatement preparedStatement =
PersistenceProvider.getInstance().prepareStatement("select a.*, c.* from actor a left join city c on ...");
ResultSet resultSet = preparedStatement.executeQuery();
while (resultSet.next()){
ActorBean actorBean = new ActorBean();
actorBean.setActorId(resultSet.getInt("actor_id"));
actorBean.setFirstName(resultSet.getString("first_name"));
actorBean.setLastName(resultSet.getString("last_name"));
actorBean.setLastUpdate(resultSet.getTimestamp("last_update"));
actorBeanList.add(actorBean);
CityBean cityBean = new CityBean();
cityBean.setCityId(resultSet.getInt("city_id"));
cityBeanList.add(cityBean);
}
您可以创建不同类的实例,并将从ResultSet中获取的值放在这些值中。
在上面的示例中,您不必始终创建ActorBean的实例,也可以创建其他类的实例。