java - JPA 是否支持映射到 sql View ?

标签 java sql orm jpa view

我目前正在使用 Eclipselink,但我知道现在大多数 JPA 实现已经非常标准化。是否有将 JPA 实体映射到 View 的本地方法?我不打算插入/更新,但问题实际上是如何处理 @Id 注释。 JPA 世界中的每个实体都必须有一个 ID 字段,但是我创建的许多 View 并不符合这一点。 JPA 中是否有对此的 native 支持,或者我是否需要使用 hack 来使其工作?我进行了很多搜索,但发现关于这样做的信息很少。

最佳答案

虽然将 @Id 注释与直接支持的类型的字段一起使用并不是指定实体身份的唯一方法(请参阅具有多个 @Id 的 @IdClass 注释或 @EmbeddedId@Embedded),JPA 规范要求每个实体都有一个主键。

也就是说,您不需要实体即可将 JPA 与数据库 View 一起使用。由于从 SQL 角度映射到 View 与映射到表没有什么不同,您仍然可以使用 native 查询(EntityManager 上的createNativeQuery)来检索标量值。

关于java - JPA 是否支持映射到 sql View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/644577/

相关文章:

mysql - LIMIT 按 GROUPED 字段而不是返回的所有行

java - 避免通过 JPA 将 'null' 值插入数据库表

symfony - 在 Symfony 2.7.3 中从数据库中获取对象

sql - 如何在 Django ORM 中从多个表中进行 SELECT?

java - JComponents 没有显示图片背景?

java - 如何使用 Button 在 ViewPager 中切换 fragment ?

sql - 如何在sql语句中将日期递增1作为时间数

java - 如何在servlet中停止exe文件进程

java - 使用 for 循环调用多个方法?

sql - 选择给定时间间隔的行