Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Создать копию объекта? |
Автор: marlborist 19.10.2007, 13:10 |
проблема в следующем. Есть некая функция public ResultSet fun(){ ResultSet rs = statement.executeQuery(sql); ResultSet rs2 = rs; rs.close(); return rs2; } После вызова данной функции java выдаст ошибку мол ресалт сет зокрыт, потому что объек rs2 ссылается на объект созданный rs (так называемая дублирующая сылка ) Как мне создать копию объекта rs и передать ее в rs2? Метод clone() не доступен. |
Автор: AntonSaburov 19.10.2007, 13:30 | ||
Ну вообщем-то обычно данные из ResultSet для каждой строки оформляются как объект какого-то типа и все они помещаются в коллекцию - ArrayList, Vector и т.д. Например если в строке из базы два поля, то создается класс из двух полей и на кажду строку резалтсета надо сделать
Это конечно же не реальный код, а эскиз к коду, идея. Можно посмотреть в сторону Hibernate |
Автор: marlborist 19.10.2007, 13:41 |
Ну вобщем -то да это выход. Если ни кто мне больше ни чего не посоветует, я так и сделаю |
Автор: VSergeyV 19.10.2007, 13:42 |
или что полегче, например Apache DdlUtils http://db.apache.org/ddlutils |
Автор: marlborist 19.10.2007, 13:53 | ||||
Нет не конает. Я уже написал большую часть проекта используя хранимые процедуры, так что менять что - то позно |
Автор: jer1 19.10.2007, 22:01 | ||
ResultSet не хранит в себе данные, он лишь обеспечивает их чтение унифицированным способом (вот об этом и COVD говорит из соседней ветки http://forum.vingrad.ru/index.php?showtopic=177845&view=findpost&p=1292377). Параллельный код для наглядности :
|