更新使用Apache卡宴对象到数据库(Updating an object to the datab

2019-10-17 14:43发布

我在第一次项目中使用卡宴。 截至目前,我用的是SelectQuery并热爱它。 我现在需要如我的更新对象User对象包含emailId属性。 当用户需要更新他/她的电子邮件,我把现有的User对象,并更新emailId与用户提供新的价值属性。

现在的问题开始,在这里我就不明白坚持更新到数据库的方式。 我有选择似乎仅限于SQLTemplate或使用EJB QL 。 我对吗? 有没有提供更新的对象到一个更优雅的方式DataContext和持续的更新到数据库?

我在Web应用程序中使用卡宴并获得通过的背景下WebApplicationContextFilter

Answer 1:

是的,肯定是有一个更优雅的方式。 你让一个或多个改变你的对象,那么您是通过使用获得的首位对象的ObjectContext提交它们:

ObjectContext context = ...
List<MyEntity> objects = context.performQuery(...); 
MyEntity o = objects.get(0);  
o.setXyz("new value"); // I assume you got to this point
...
context.commitChanges();

最后一行将所有更改到数据库。



文章来源: Updating an object to the database using Apache Cayenne