在mysql中,我们的视图是不能带参数的。但是,在JPA中使用视图是否能带参数?这是个问题。
首先说一下怎么实现视图查询:
1.在数据库中创建视图。
2.在项目中构建视图的实体类
3.补充剩下的repository,service等。
具体实现:
@Entity
@Table(name = "user_forum")
public class ForumUser {
@Id
private Integer id;
private String title;
private String content;
private Date createTime;
private Integer commentNumber;
private String headPortrait;
private String realName;
//省略getter setter
}
实体类中@Table name表示的是视图的名称,不会生成另外一个实体类。
好像就这点需要关注吧。别的都没有了,一切照搬正常的实体类就行了。
但是,这个是没有参数的,我们工作中往往需要的是带参数的。那么,你重写Query语句,带参数就好了,里边是new一个视图对象。这个的本质我感觉是两表连接查询,只是查询出来的对象用实例来接收罢了。