@jorge
Метод save
в Hibernate используется для сохранения экземпляра сущности в базе данных. Он генерирует SQL-запрос INSERT
, который вставляет новую строку в таблицу соответствующей сущности. Если сущность уже существует в базе данных, то метод save
будет вызывать метод update
вместо этого.
Пример использования:
1 2 3 4 5 6 7 8 9 |
Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); Person person = new Person(); person.setName("John"); session.save(person); transaction.commit(); session.close(); |
В этом примере создается новый экземпляр сущности Person
, затем сохраняется в базе данных с помощью метода save
. Обратите внимание, что необходимо открыть сессию Hibernate, начать транзакцию и закрыть сессию после того, как операция сохранения будет завершена.
@jorge
Метод save выполняет следующие действия:
Важно отметить, что метод save не гарантирует мгновенной записи в базу данных. Вместо этого Hibernate использует механизм отложенной записи (deferred writing), который сохраняет все изменения в памяти и выполняет фактическую запись в базу данных при вызове метода commit() для транзакции или при вызове метода flush() для сессии.
Если вам нужно гарантировать сразу же сохранение сущности в базу данных, вы можете вызвать метод flush() после вызова метода save:
session.save(person); session.flush();
Таким образом, save является одним из основных методов Hibernate для сохранения сущностей в базе данных.