EBeans更新不会保存更改的字段项目

问题描述 投票:0回答:1

我从Play 2.5升级到2.7,并且保存表单时遇到问题。当字段更改并且我调用Model.update()时,更改不会保留在数据库中(即使它们在完成更新之前进行调试时显示更改)。

但是当我特别设置它们时,它们确实会持续存在。因此,它必须对未检测到更改并且看不到对象已更改的事实进行处理。我在模型中使用getter和setters,并且所有属性都是私有的。

这是控制器功能(两行用于保留这两个字段)

@Check(UserTask.MANAGER)
public Result updateSceneSet(Http.Request request) {
    Messages messages = messagesApi.preferred(request);
    Form<StreamingSceneSet> form = formFactory.form(StreamingSceneSet.class).bindFromRequest(request);
    if (form.hasErrors()) {
        if (form.rawData().get("id") != null && form.rawData().get("id").length() > 0) {
            long itemId = Long.parseLong(form.rawData().get("id"));
            StreamingSceneSet item = StreamingSceneSet.findById(itemId);
            return badRequest(views.html.streaming.editSceneSetView.render(form, item, messages, request));
        } else {
            return badRequest(views.html.streaming.createSceneSetView.render(form,messages, request));
        }
    }

    // Form is OK, has no errors we can proceed
    StreamingSceneSet item = form.get();

    item.setName(item.getName());
    item.setDescription(item.getDescription());

    // Insert or update?
    if (item.getId() == null) {
        item.insert();
        flash("success", messages().at("addedSceneSet", item.getName()));
    } else {
        item.update();
        flash("success", messages().at("updatedSceneSet", item.getName()));
    }
    return redirect(routes.Streaming.sceneSets());
}

我从Play 2.5升级到2.7,并且保存表单时遇到问题。当字段更改并且我调用Model.update()时,更改不会保留在数据库中(即使它们显示...

jpa playframework ebean play-framework-2.7
1个回答
0
投票

似乎是因为当我开始升级时,我有一些旧的类,而我没有getter和setter,并且由于某些问题我输入了:

© www.soinside.com 2019 - 2024. All rights reserved.