【发布时间】:2019-02-02 16:40:24
【问题描述】:
class Post {
@Id
Long id;
String title;
@ManyToMany(fetch = FetchType.LAZY,
cascade = {
CascadeType.PERSIST,
CascadeType.MERGE,
})
@JoinTable(name = "post_tags",
joinColumns = { @JoinColumn(name = "post_id") },
inverseJoinColumns = { @JoinColumn(name = "tag_id") })
Set<Tag> tags;
// constructor
// getters
// setters
}
class Tag{
@Id
Long id
String name;
// getters, setter, constructor
}
interface PostProjection{
Long getId();
String getTitle();
@Value("#{target.tags.size()}")
int getNumberOfTags();
}
在 PostProjection 中,我想检索属于此帖子的每个标签的名称。我能够获取特定帖子的标签数量,但不能获取标签的名称。我不想要标签 id。我试过这样做:
@Value("#{target.tags.name}")
Set<String getTagsNanes();
但这不起作用。 如何使用投影检索属于特定帖子的每个标签的名称?提前谢谢!
【问题讨论】:
标签: spring hibernate spring-boot spring-data-jpa projection