【发布时间】:2017-08-24 13:54:57
【问题描述】:
我正在使用 Spring Boot 创建一个使用 JPA 持久化 FooBar 实体的 Web 应用程序。
我有一些 html 页面在我的控制器上执行 AJAX 请求。
这些请求是关于这个实体的:
@Entity
@Table(name = "FOO_TABLE")
public class FooBar {
@EmbeddedId
private FooBarId id;
@Column(name = "ADDRESS")
private String address;
@Column(name = "COLOR")
private String color;
}
它使用复合键:
@Embeddable
public class FooBarId {
@NotNull
@Column(name = "NAME")
private String name;
@NotNull
@Column(name = "TXT_ADR_MAIL")
private String email;
}
POST 可以:
@PostMapping
public ResponseEntity<Void> postFoobar(FooBar fb){
repo.save(fb)
return new ResponseEntity<>(HttpStatus.CREATED);
}
问题:
如何执行 PUT、GET 和 DELETE ?我看不出我该怎么做,因为我习惯于处理一个简单的id。
那么是否可以使用复合键执行这些操作?
编辑 1:
我的表中没有
id列。我无法更改表格。到目前为止我尝试了什么:对于
DELETE,我将整个实体传递给控制器,然后根据密钥搜索要删除的实体。 对于PUT和GET(单get),不知从何说起。
问候。
【问题讨论】:
-
你尝试了什么?
-
@Nikolay 请参考我的编辑。
标签: spring spring-mvc spring-boot