gpt4 book ai didi

java - 使用 Apache Cayenne 将对象更新到数据库

转载 作者:太空宇宙 更新时间:2023-11-04 07:51:15 25 4
gpt4 key购买 nike

我第一次在项目中使用 Cayenne。到目前为止,我一直在使用 SelectQuery 并且很喜欢它。我现在需要更新一个对象,例如我的 User 对象包含一个 emailId 属性。当用户需要更新他/她的电子邮件时,我获取现有的 User 对象并使用用户提供的新值更新 emailId 属性。

问题现在开始了,我不明白如何将更新持久保存到数据库。我的选项似乎仅限于 SQLTemplate 或使用 EJB QL。我对吗?是否有更优雅的方式将更新的对象提供给 DataContext 并将更新保存到数据库?

我在 Web 应用程序中使用 Cayenne,并通过 WebApplicationContextFilter 获取上下文。

最佳答案

是的,当然还有更优雅的方式。您对对象进行一个或多个更改,然后通过用于首先获取对象的 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();

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

关于java - 使用 Apache Cayenne 将对象更新到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14430205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com