我正在尝试编写一个函数来使用 ebean 更新表中的现有行。我实例化一个新的 Ebean 模型对象,为其提供现有 ID,添加我想要更改的属性,然后向 Ebean 发送更新请求。但是,更新不会发送到数据库。这里可能出现什么问题?
EB_Datasource ebds = new EB_Datasource();
ebds.id = 100;
ebds.databaseName = "NewValue";
ebds.update();
System.out.println("test values: " + ebds.databaseName);
ebds.refresh();
System.out.println("test values: " + ebds.databaseName);
打印语句的结果是:
test values: NewValue
test values: OriginalValue
这里可能出现什么问题?为什么更新没有完成它的工作?
最佳答案
ebds.id = 100;
ebds.databaseName = "NewValue";
Ebean不支持设置字段。您可能已经看过使用 Play 框架的示例,在这些情况下,正是 Play 框架增强功能将公共(public)字段 get/put 更改为调用 setter/getter 方法的方法调用。
因此,在没有 Play 的 Ebean 中,您应该使用 getter/setter。
ebds.setId(100);
ebds.setDatabaseName("NewValue");
ebds.update();
关于java - Ebean.Update 未将更新写入 DB2 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32591748/