PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

JDBCTemplate-Set verschachteltes POJO mit BeanPropertyRowMapper

Vielleicht könnten Sie einen benutzerdefinierten RowMapper übergeben die jede Zeile einer aggregierten Join-Abfrage (zwischen Nachricht und Benutzer) einer Message zuordnen könnte und verschachtelter User . Etwa so:

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