sql >> データベース >  >> RDS >> PostgreSQL

JDBCTemplateは、BeanPropertyRowMapperを使用してネストされたPOJOを設定します

    おそらく、カスタムのRowMapperを渡すことができます これにより、集約結合クエリの各行(メッセージとユーザーの間)をMessageにマップできます。 ネストされたUser 。このようなもの:

    List<Message> messages = jdbcTemplate.query("SELECT * FROM message m, user u WHERE u.message_id = m.message_id", new RowMapper<Message>() {
        @Override
        public Message mapRow(ResultSet rs, int rowNum) throws SQLException {
            Message message = new Message();
            message.setTitle(rs.getString(1));
            message.setQuestion(rs.getString(2));
    
            User user = new User();
            user.setUserName(rs.getString(3));
            user.setDisplayName(rs.getString(4));
    
            message.setUser(user);
    
            return message;
        }
    });
    


    1. スライドデッキと#SQLintersectionのサンプル

    2. OracleデータベースのINDICES-OFバインド句を含むFORALLステートメント

    3. SQLで最上位の親を見つける

    4. 制約を変更する方法