我的后端应用程序通过 REST API 获取 json 对象,该对象存在于数据库中但不存在于 Caeynne ObjectContext 中,如何通过 ObjectContext 按 id 删除对象。
// <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);
}
}