public void updateEvent(EventVO eventVO) throws BOException {
DefaultTransactionDefinition def=new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status=this.transactionManager.getTransaction(def);
try {
// 查询 返回 OBJECT UPDATE
EventEvents event =
this.eventRepository.findEventByID(Long.parseLong(eventVO.getEventId())
);
event.setEventName(eventVO.getEventName());
event.setArea(eventVO.getArea());
event.setTypeId(Long.parseLong(eventVO.getTypeId()));
event.setLimitNumber(Long.parseLong(eventVO.getLimitNumber()));
event.setJoinType(Long.parseLong(eventVO.getJoinType()));
event.setPoseter(eventVO.getPoseter());
event.setTemplate(eventVO.getTemplate());
this.eventRepository.modifyEvent(event);
transactionManager.commit(status);
} catch (Exception e) {
transactionManager.rollback(status);
throw new BOException(e,this.getClass());
}
}
EventEvents event =
this.eventRepository.findEventByID(Long.parseLong(eventVO.getEventId()));
public EventEvents findEventByID(long eventId) throws DAOException {
return (EventEvents)this.getByID(EventEvents.class, eventId);
}
分享到:
相关推荐
Hibernate通过Session接口的`update()`方法实现对象的更新。当你从数据库加载一个对象,修改其属性,然后调用`update()`方法,Hibernate会根据对象的状态自动执行相应的SQL UPDATE语句。然而,如果对象不在Session...
在 Hibernate 中, update 方法可以更新整个对象的所有字段。如果我们直接使用 Session.update(Object o) 方法,Hibernate 会生成一个更新所有字段的 SQL 语句。这可能会导致性能问题,特别是当某些字段类型是文本...
在这个主题“hibernate操纵实体对象”中,我们将探讨如何使用Hibernate来创建、更新、删除和查询数据库中的实体对象。 首先,`HibernateSessionFactory`是Hibernate的核心组件之一,它负责创建`Session`对象。`...
3. **更新(Update)**:当对象状态发生变化时,更新数据库中的相应记录。 4. **删除(Delete)**:从数据库中移除对象对应的记录,对象变为非持久化状态。 5. **查询(Criteria/Query/HQL)**:通过HQL(Hibernate ...
这个类展示了如何使用Hibernate的简单操作,如`get()`, `add()`, `del()`, 和 `update()`方法,这些方法调用了基类的抽象方法,进一步简化了DAO层的实现。 在Hibernate中,对象的状态分为瞬时状态、持久状态和脱管...
例如,如果你想要更新一个持久化对象,你需要确保它与一个活跃的Session关联。如果对象已经离开Session(变成离线对象),你可以使用`merge()`方法将其重新连接到Session并同步到数据库。 在处理多个Session时,每...
- 对于持久对象,对对象的任何修改都会在事务提交时自动同步到数据库,因为 Hibernate 会在适当的时候生成并执行相应的 SQL DML(Insert, Update, Delete)语句。 - 当事务结束或 `Session` 调用了 `close()`、`...
- **CRUD操作**:创建(save/insert)、读取(get/load)、更新(update)和删除(delete)对象。 - **查询语言**:HQL(Hibernate Query Language)和Criteria API,支持复杂的查询操作。 7. **Hibernate优势**...
6.3 Hibernate用对象标识符(OID)来区分对象 6.4 Hibernate的内置标识符生成器的用法 6.4.1 increment标识符生成器 6.4.2 identity标识符生成器 6.4.3 sequence标识符生成器 6.4.4 hilo标识符生成器 ...
3. **Chapter 4**:这一章通常会讲解Hibernate的CRUD操作,即创建(Create)、读取(Read)、更新(Update)和删除(Delete)。读者将学习如何使用Session进行对象的持久化操作,以及事务管理和异常处理。 4. **...
此时,对象的实例与数据库中的记录对应,任何对持久对象属性的修改,只要在事务范围内,都会在事务提交时由Session自动更新到数据库中。如果需要从数据库加载特定对象,Hibernate会首先检查Session缓存,若未找到再...
此外,如果对象在Session之外被更新,那么在更新之前需要调用`session.update(object)`来告诉Hibernate你打算修改这个对象。 总结来说,Hibernate的更新操作主要包括配置、创建SessionFactory、打开Session、查询...
当事务提交时,Hibernate会通过SQL的INSERT, UPDATE, DELETE语句更新数据库。持久化对象的特征如下: - 存在于一个Session实例的缓存中。 - 与数据库中的相关记录对应。 - Session在清理缓存时会根据对象属性的...
"hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605.zip" 是一个针对Eclipse的Hibernate工具集更新包,包含了对4.1.1.Final版本的增强和优化,为开发者提供了更加便捷的Hibernate操作界面和功能。...
《Hibernate Tools 4.1.1:提升数据库与对象映射的效率》 Hibernate Tools是Hibernate框架的一个扩展,它提供了一系列实用工具,帮助开发者更高效地进行对象关系映射(ORM)工作。这次我们关注的是版本4.1.1,这个...
Hibernate Tools是开发者在使用Hibernate框架进行Java应用程序开发时的重要辅助工具,它为Eclipse IDE提供了强大的集成支持,包括对象关系映射(ORM)的可视化设计、逆向工程、数据库生成、HQL和SQL查询编辑等功能。...
`saveOrUpdate`是Hibernate提供的一种便捷方法,用于处理对象的保存或更新操作。在深入讲解`saveOrUpdate`之前,我们先理解一下Hibernate的基本概念。 在Hibernate中,实体类(Entity Class)代表数据库中的表,...
在Java的持久化框架Hibernate中,对象存在三种不同的状态,分别是持久态(Persistent)、自由态(Transient)和游离态(Detached)。这三种状态分别对应了对象与数据库的关联程度,理解它们对于高效地使用Hibernate...
如果在`<class>`映射中设置了`dynamic-update="true"`,Hibernate会在生成的SQL更新语句中只包含实际被修改的字段,而不是所有字段。这可以显著减少不必要的数据传输和数据库操作,从而提升性能。然而,`dynamic-...