Play Framework(Ebean ORM)是否支持托管实体

时间:2014-08-30 15:23:43

标签: java playframework-2.0 playframework-2.2 ebean playframework-2.3

我开始使用Playframework开发一个新项目,并考虑尝试将其与Ebean ORM一起使用。我现在想知道的是,如果Play与Ebean实现支持托管实体,如果是这样的话......如何?从控制器中获取此示例方法:

@Transactional
public Result changePassword() {
    Long userId = Long.valueOf(session("id"));
    User user = User.find.byId(userId);
    user.setName("John Doe");
}

当事务结束时,有没有办法将更改保留到数据库?目前我正在做的是致电user.save()。这并不多,但与JEE / JPA(以及最近的Dropwizard)合作,我习惯于在交易结束时保持我的实体更改。

1 个答案:

答案 0 :(得分:0)

不,我不认为Play本身支持自动保存事务,如您所愿。显式保存方法是唯一的选择。

  

Ebean.save(XYZ);

关于您的代码的一般建议,来自 Play 2.3.x ,在您的情况下,如果Save是User EBean上的唯一操作,则无需注释或明确提及事务。默认情况下,EBeans上的每个操作都将在单独的事务中执行。如果需要在单个事务中执行多个操作,则可以显式指定事务。