我正在尝试编写一个函数来使用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框架增强功能将公共字段的get / put变为调用setter / getter方法的方法调用。
因此,在没有Play的Ebean中,您应该使用getter / setter。
ebds.setId(100);
ebds.setDatabaseName("NewValue");
ebds.update();