PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

JDBCTemplate imposta POJO nidificato con BeanPropertyRowMapper

Forse potresti inserire un RowMapper personalizzato che potrebbe mappare ogni riga di una query di join aggregata (tra messaggio e utente) a un Message e User nidificato . Qualcosa del genere:

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