Как известно, у Hibernate
есть очень хорошая функция SaveOrUpdate, когда мы передаем любой объект этому методу, он знает, что данные будут update
или новая запись будет добавлена в базу данных. Эта функция также доступна в JOOQ
Или в моем коде мне нужно это обработать?поведение JOOQ Vs Hibernate
ответ
jOOQ делает то же самое. Если вы измените первичный ключ записи, тогда он будет использовать INSERT
, в противном случае он будет использовать UPDATE
.
Как бы то ни было, когда вы читаете запись из базы данных, тогда вызов store()
вызовет UPDATE
, как и следовало ожидать. Если вы создадите новую запись, тогда будет INSERT
ed.
С 2.6, это немного сложно клонировать запись, а затем попросить jOOQ обновить ее (поскольку клонирование будет устанавливать первичный ключ в новом экземпляре, следовательно, обозначая его как «новый» -> вставить).
Если вы прочтете запись из базы данных и вызовите record.store(), у вас будет такое же поведение метода hibernate saveOrUpdate, это прекрасно работает!
Но в большинстве случаев вы не будете считывать запись из базы данных, вы получите запись с контроллера или вида, например, в этом случае метод record.store() не обновляется, он всегда вставьте даже у вас установленный идентификатор.
На данный момент я реализую свой собственный saveOrUpdate, проверяя идентификатор записи.
public int saveOrUpdate(Record record) {
if(record.getId() != null) {
return record.update();
}
return record.store();
}
- 1. JOOQ против Hibernate
- 2. Jooq pojoImplements: view vs table
- 3. Преобразование Hibernate @Formula в поле JOOQ
- 4. Hibernate-search поведение?
- 5. Hibernate Счетчик транзакций Поведение
- 6. Ehcache Hibernate запутанного поведение
- 7. Hibernate LockMode ожидаемое поведение
- 8. Hibernate findByCriteria странное поведение
- 9. hibernate: session.get() случайное поведение
- 10. Hibernate: session.get (...) vs session.getNamedQuery (...)
- 11. Hibernate vs iBatis
- 12. Hibernate vs JPA
- 13. Apache dbutils vs Hibernate
- 14. Hibernate vs. Apache Torque
- 15. Hibernate EHCache vs MemCache
- 16. Hibernate: sessionFactory.openSession() VS sessionFactory.getCurrentSession()
- 17. hibernate JTASessionContext vs ThreadLocalSessionContext
- 18. Hibernate vs CFQuery
- 19. Spring vs Hibernate
- 20. EJB vs Hibernate
- 21. Hibernate Vs iBATIS
- 22. Hibernate vs. Entity Beans
- 23. Hibernate vs EclipseLink
- 24. Hibernate vs JDBI
- 25. Hibernate OpenSession() Vs GetCurrentSession()
- 26. JDBC VS Hibernate
- 27. Hibernate - Prod vs Dev
- 28. SQLPLus vs поведение SQLDeveloper
- 29. Расширить vs + = Поведение
- 30. VS 2010 Редактор Поведение
Нет, я имею в виду 'магазин)' метод (делает тх так же, как 'saveOrUpdate()' –
Что именно вы имеете в виду под "стрельбой Update()"? –
Я думаю, увольнение Update() query –