Технологии Java для работы с базами данных (1127026), страница 2
Текст из файла (страница 2)
Обязательным параметром является диалект SQL. В данном примереиспользован диалект СУБД HyperSQL.Все запросы к базе данных выполняются через объекты-сессии классаorg.hibernate.Session. Для получения таких объектов используется фабрика сессий (объекттипа org.hibernate.SessionFactory), которая в приложении обычно одна и получается приинициализации с помощью выполнения инструкцииnew Configuration().configure().buildSessionFactory().Пример запроса с параметрами может выглядеть так (получение книг данного автора).public static void getAuthorBooks(String name){Session s = sfactory.getCurrentSession();s.beginTransaction();List<Book> l = s.createCriteria(Book.class).addOrder(Order.asc("Title")).createCriteria("Authors").add(Restrictions.eq("Name", name)).list();for(Book b : l)System.out.println"Title: " + b.getTitle());}Ниже приведен пример метода, изменяющего данные в базе и сохраняющего изменения.public static void modifyAuthor(){Session s = sfactory.getCurrentSession();s.beginTransaction();Author a = (Author) s.createCriteria(Author.class).add(Restrictions.eq("Name", "Andrew Tanenbaum")).uniqueResult();System.out.println("ID: " + a.getId() + "; Name: " + a.getName());a.setName("A.
Tanenbaum");s.saveOrUpdate(a);s.getTransaction().commit();}Метод saveOrUpdate() объекта-сессии позволяет сохранить изменения и новые объекты.Отдельные методы save() и update() сохраняют новые объекты (записи, соответствующиеим) и вносят изменения в уже имеющиеся данные. Метод delete() позволяет удалитьобъект. Метод persist() делает временно созданный объект (не связанный ни с какойзаписью) хранимым.Все действия по модификации данных должны выполняться внутри транзакций, которые вслучае успешного выполнения должны завершаться вызовом метода commit(). Привозникновении непредвиденных ситуаций, обычно проявляющихся в виде исключений,сделанные изменения нужно отменять при помощи rollback().Литература[1] Документация по JDBC на сайте SUN Developer Network.http://java.sun.com/products/jdbc/download.html.[2] Руководство по JDBCв рамках Java Tutorial.http://java.sun.com/docs/books/tutorial/jdbc/.[3] Б.
Ван Хейк. JDBC. Java и базы данных. Лори, 2000.[4] Сайт Hibernate. https://www.hibernate.org/.[5] Справочная документация по Hibernate.http://docs.jboss.org/hibernate/stable/core/reference/en/html/.[6] C. Bauer, G. King. Java Persistence with Hibernate. Manning, 2006.[7] D. Minter, J. Linwood. Pro Hibernate 3. Apress, 2005.[8] А. Хемраджани. Гибкая разработка приложений на Java с помощью Spring, Hibernate иEclipse. Вильямс, 2008..