【发布时间】:2020-01-27 11:30:44
【问题描述】:
所以我有一个名为Issue 的模型,这个模型有一个名为IssueType 的关系。
一个Issue 有一个type_id,它将它们链接在一起。 IssueType 有一个 id 和一个 name,这是唯一的。
问题是当我想创建一个问题时,我想发送这样的请求
POST https://server/issues
Content-Type: application/json
{
"description": "just some random description",
"type": "Generic"
}
所以这里type 是IssueType 的name,在创建它时。
我该怎么做?
@Table(name = "issues")
@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity
public class Issue {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "description")
private String description;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "type_id", referencedColumnName = "id")
private IssueType type;
}
@Table(name = "issue_types")
@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity
public class IssueType {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column()
private String name;
}
@RepositoryRestResource(
collectionResourceRel = "issues",
path = "issues",
excerptProjection = IssueProjection.class
)
public interface IssueRepository extends JpaRepository<Issue, Long> {
}
@Projection( types = Issue.class)
public interface IssueProjection {
Long getId();
Double getLongitude();
Double getLatitude();
Integer getFloor();
String getDescription();
@Value("#{target.type.name}")
String getType();
}
【问题讨论】:
标签: spring hibernate spring-data-jpa spring-data-rest