Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Hibernate: Доступ к значению по имени колонки в ResultSet ??
Список форумов
 ->  Персистентность в Java (JPA, ORM, ODB)


 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
plazman : 43
Новичок

СообщениеФев 19, 2012 14:35 
Ответить с цитатой
В Hibernate в наследниках org.hibernate.type.Type используется для получения значения из ResultSet методы доступа по имени колонки

Например org.hibernate.type.StringType

Код:

   public Object get(ResultSet rs, String name) throws SQLException {
      return rs.getString(name);
   }


Но на установку значения - по индексу

Код:

public void set(PreparedStatement st, Object value, int index) throws SQLException {
      st.setString(index, (String) value);
}


Случайно по индексу не быстрей работает Smile
или может хибернейтовцам влом было индексы вычислить... Smile
В любом случае интересно ваше мнение...
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vermut : 1063
Завсегдатай
Откуда: Ростов-на-Дону

СообщениеФев 19, 2012 16:30 
Ответить с цитатой
Я когда работал с JDBC чисто ради прикола попытался замерить, что произойдёт если обращаться к колонкам в ResultSet не по имени а по индексу. Для выборки из милиона строк в каждой строке было где-то десять столбцов, разницу замерить не удалось, поэтому я не стал извращаться и продолжил обращаться к столбцам в ResultSet по имени. Оно то понятно что по индексу должно быть быстрее, но это не актуально так как основные расходы связанные с запросом всё равно уходят на сеть и время обработки запроса в СУБД.
_________________
Познакомлюсь с привлекательной Ростовчанкой для совместного изучения Java
К началу Посмотреть профиль Отправить личное сообщение Отправить e-mail
 
Начать новую тему  Ответить на тему
Страница 1 из 1
Список форумов
 -> Персистентность в Java (JPA, ORM, ODB)


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru