我正在尝试为视图创建一个 JPA 实体。从数据库层来说,表和视图应该是一样的。
然而,问题开始出现,它们有两个方面:
尝试设置正确的注释时。视图没有与之关联的主键,但如果没有正确的
@javax.persistence.Id
在字段上注释,您将在运行时抛出org.hibernate.AnnotationException: No identifier specified for entity
。The Spring Boot
JpaRepository
interface definition requires that theID
type extendsSerializable
, whichjava.lang.Void
as a work-around for the lack视图实体上的 id。
与缺少主键的视图进行交互的正确 JPA/SpringBoot/Hibernate 方法是什么?
原文由 Paul FREAKN Baker 发布,翻译遵循 CC BY-SA 4.0 许可协议
我也在探索那个话题。我最终将基于 Spring Data JPA 接口的投影 与本机查询一起使用。
我创建了一个接口,确保大写部分与数据库列名称匹配:
然后我为一个与视图没有任何关系的实体(用户)创建了一个存储库。在该存储库中,我创建了一个简单的本机查询。 vReport1_1 是我的观点。