簡體   English   中英

如何在不使用hql,jpql查詢的情況下從簡單Java中的多個類的查詢中獲取結果

[英]How to get result from query with multiple classes in simple java without using hql,jpql query

當我們在java中創建jpql查詢時,如下所示選擇a。 ,b。 來自a,b,c的c。*,其中a.id = b.id和b.id = c.id

結果是對象數組的列表,所以第一個數組是表的值,第二個是b表的值

我的問題是,當我們在sql中編寫相同的查詢時,結果是什么,以及如何獲取每個表的值。

通常,您需要對不同的數據運行不同的查詢。

來自數據庫的信息具有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實例,也可以創建其他類的實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM