sql >> Base de Datos >  >> RDS >> PostgreSQL

JDBCTemplate establece POJO anidado con BeanPropertyRowMapper

Tal vez podría pasar un RowMapper personalizado que podría asignar cada fila de una consulta de unión agregada (entre el mensaje y el usuario) a un Message y User anidado . Algo como esto:

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;
    }
});