PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

JDBCTemplate define POJO aninhado com BeanPropertyRowMapper


Talvez você possa passar um RowMapper personalizado que poderia mapear cada linha de uma consulta de junção agregada (entre mensagem e usuário) para uma Message e User aninhado . Algo assim:
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;
    }
});