首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除Apache-Cayenne中的对象?

如何删除Apache-Cayenne中的对象?
EN

Stack Overflow用户
提问于 2017-08-23 14:28:15
回答 1查看 288关注 0票数 1

我的后端应用程序通过REST API获取json对象,这个对象存在于数据库中而不存在于Caeynne ObjectContext中,如何通过ObjectContext按id删除对象。

代码语言:javascript
复制
//  <dependency>
//      <groupId>org.apache.cayenne</groupId>
//      <artifactId>cayenne-server</artifactId>
//      <version>4.0.M5</version>
//  </dependency>

import org.apache.cayenne.ObjectContext;
import org.apache.cayenne.configuration.server.ServerRuntime;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.cayenne.test.model.Artist;

@RestController
@RequestMapping(value = "/rest")
public class ArtistRestController {

    @DeleteMapping(value = "/artist")
    public ResponseEntity deleteArtist(@RequestBody Artist artist) {

        ServerRuntime runtime = ServerRuntime
                .builder()
                .addConfig("cayenne-cayenne_test.xml")
                .build();

        ObjectContext context = runtime.newContext();

        // don't work
        context.deleteObject(artist);
        context.commitChanges();

        return new ResponseEntity<>(HttpStatus.OK);
    }
}
EN

回答 1

Stack Overflow用户

发布于 2017-08-23 17:35:29

  1. 如果您的object已正确设置了其所有属性和ObjectId,则可以执行以下操作:

代码语言:javascript
复制
context.localObject(myObject);
context.deleteObject(myObject);
context.commitChanges();

  1. 如果你只有原始id,你应该先创建对象:

代码语言:javascript
复制
MyObject myObject = Cayenne.objectForPk(context, MyObject.class, id);
context.deleteObject(myObject);
context.commitChanges();

在这种情况下,您的对象可能会从数据库中获取,以恢复它的实际状态,并跟踪可以与此对象一起删除的所有关系。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45832136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档