Набор результатов JDBC против набора строк, какой выбрать и когда?

Итак, я знаю некоторые относительные различия, например, ResultSet имеет «открытое соединение» с базой данных, тогда как RowSet работает «отключенным» способом.

Но это в значительной степени то, что я понимаю (может быть, неверно :)

Тогда у меня такой вопрос - при каких обстоятельствах один предпочтительнее другого? В чем состоят их сильные и слабые стороны?

  • Из того, что я чувствую, RowSet , работает в отключенный режим специально для запросы "только для чтения" будут иметь лучшая производительность в очень параллельная система. Это верно? Если это так, можно с уверенностью сказать RowSet всегда предпочтительнее ResultSet для запросов только для чтения?

  • Если я правильно повторяю RowSet не генерирует исключения SQL, но разве это преимущество? Другой поскольку RowSet сериализуем. Но меня беспокоит, прежде всего, перспектива производительности, что было бы выбор?

  • Но имеет ли это значение для запросы чтения-записи ?? Можете ли вы синхронизировать ResultSet обратно в БД? (Я не конечно, если это возможно (это может быть и я просто не могу вспомнить или погуглить это достаточно хорошо :) Это было давно с необработанным JDBC ...

Есть идеи? Очевидно, что в моих знаниях есть некоторые недостающие пробелы :)

Причина, по которой я спрашиваю, заключается в том, что я хотел бы выбрать между реализацией интерфейса ResultSetExtractor Spring-Jdbc или возвратом SqlRowSet при обработке некоторых данных. Этот вопрос заставил меня задуматься о том, как решить, что выбрать, когда, кроме подбрасывания монеты:)

17
задан Jonas 1 September 2011 в 19:08
поделиться