Spring 实体和非实体类之间的关系

Spring 实体和非实体类之间的关系,spring,spring-boot,jpa,Spring,Spring Boot,Jpa,我有一个班叫LastPost。它是一个非实体类,其功能是通过原始查询从现有表中获取一些数据,这意味着LastPost类本身没有表 @Setter @Getter public class LastPost { private int topicId; private Integer pageNumber; private Integer lastReplyId; private String topicTitle; private String short

我有一个班叫LastPost。它是一个非实体类,其功能是通过原始查询从现有表中获取一些数据,这意味着LastPost类本身没有表

@Setter
@Getter
public class LastPost {
    private int topicId;
    private Integer pageNumber;
    private Integer lastReplyId;
    private String topicTitle;
    private String shortTopicTitle;
    private int userId;
    private String username;
    private LocalDateTime lastPostDateTime;
}
在我的论坛实体类中,我具有以下属性:

@Transient
private LastPost lastPost;

那么,如何从原始查询中获取结果集并将其存储到LastPost对象中,以便在检索论坛对象时自动检索结果集呢?(比如关系)。

最简单的方法是创建一个DB视图,并将其映射到一个
@Immutable
entityWhy@Immutable?LastPost是一个非实体类,这意味着它没有表。我想执行一个复杂的查询,并将结果存储在Forum entity类中的LastPost对象中。如果为查询创建一个视图,则此视图支持的实体将无法编辑,原因很明显。如果您随后在
LastPost
中更改了任何内容,Hibernate仍将尝试保留更改,从而导致错误(除非您将
LastPost
标记为
@Immutable
)。