Каков наилучший метод (умение работать с умными) для удаления объекта, если доступен только его идентификатор.Спящий режим Удалить объект по id
HQL. Будет ли выполнение этого HQL загружать объект SessionContext в контекст сохранения hibernate?
for(int i=0; i<listOfIds.size(); i++){ Query q = createQuery("delete from session_context where id = :id "); q.setLong("id", id); q.executeUpdate(); }
Загрузить по ID и удалить.
for(int i=0; i<listOfIds.size(); i++){ SessionContext session_context = (SessionContext)getHibernateTemplate().load(SessionContext.class, listOfIds.get(i)); getHibernateTemplate().delete(session_context) ; }
Здесь SessionContext является объект отображается в session_context таблицу. Или, конечно, есть ли все вместе разные и лучшие подходы?
спасибо, некоторые проблемы 1. у моего idList может быть около 1000 идентификаторов в заданное время. это будет проблема? 2. При выполнении удаления сначала попробуйте загрузить все объекты SessionContext в контекст сохранения для удаления, а затем продолжить удаление? – mohit052
Для удаления объектов вам не нужно загружать их в сеанс. Он также должен работать с 1000 элементами, но сначала заработайте, а затем выполните улучшения производительности. – ManuPK
спасибо. получил это :-D – mohit052