当前位置: 首页 > 面试题库 >

JPA是否支持映射到sql视图?

仲孙凡
2023-03-14
问题内容

我目前正在使用Eclipselink,但是现在我知道大多数JPA实现已经相当标准化了。是否有将JPA实体映射到视图的本地方法?我不打算插入/更新,但问题实际上是如何处理@Id批注。JPA世界中的每个实体都必须有一个ID字段,但是我创建的许多视图都不符合此要求。JPA是否对此提供本机支持,或者我需要使用黑客才能使其正常工作?我已经搜索了很多,却发现有关此操作的信息很少。


问题答案:

当使用@Id注释直接支持的类型的字段不是用来指定实体的身份的唯一途径(见@IdClass与多个@Id注解或@EmbeddedId@Embedded),JPA规范需要为每个实体主键。

就是说,您不需要实体将JPA与数据库视图一起使用。从SQL角度来看,映射到视图与映射到表没有什么不同,因此您仍然可以使用本机查询(createNativeQueryon
EntityManager)来检索标量值。



 类似资料:
  • JOOQ留档解释了一种将JOOQ表映射到不同模式和表名称的方法。列名呢?换句话说,我可以在一个类似的结构化表集合上运行我的JOOQ支持的代码吗?这些表的列名不同于硬编码的列名,但含义相同。举个例子 人民(FIRST_NAME,LAST_NAME) 谢谢,麦克斯

  • 我正在尝试使用Flink的SQL API从地图访问密钥。它失败,线程“main”组织中出现错误异常。阿帕奇。Flink。桌子应用程序编程接口。TableException:不支持类型:任何请告知我如何修复它。这是我的活动课 这是提交flink作业的主类 当我运行它时,我得到了例外 我正在使用flink 1.3.1

  • 问题内容: 嗨,我的问题不是技术性的。我想知道hibernate5是否支持基于XML的实体映射。 我的要求如下: 我想要在Jersey- Hibernate上使用后端。我的前端是Android应用程序。我想将我的实体POJO保留在一个公共项目中,以便它们将由应用程序和服务器共享。Gson将序列化/反序列化双方。但是由于android应用程序不支持所有Java库进行编译,因此我不希望我的common

  • 我试图在两个进程之间共享从USB摄像头(logitech c270)接收到的帧(图像),以便避免出现。我正在使用这里描述的内存映射流式I/O方法,在使用后,我可以成功地从相机获取帧。但是,我有另一个进程(用于图像处理),它必须在出列后使用图像缓冲区,并向第一个进程发出信号,再次对缓冲区进行排队。 在网上搜索,我可以发现打开视频设备多次是允许的,但是当我尝试映射(尝试两个和只是)在第二个过程后成功的

  • 我的项目只支持Java 1.6,我必须使用Hibernate JPA。由于hibernate-jpa-2.1-api为调用存储过程提供了基于注释的支持,我喜欢使用它,但担心它是否支持java 1.6。 我试图在网上搜索,但找不到答案。有人能帮我知道hibernate-jpa-2.1-api是否支持Java 1.6吗?

  • 这类似于JPA映射带有继承的视图和表,但由于接受的答案不能让我满意,所以我决定问自己的问题。 我有一个基于类,它包含所有实体的公共字段 我想像现在一样读/写,但我不知道如何映射,以便JPA查询可以使用它。我用做了一些努力,但没有成功。如果我将中的所有字段复制到中,那么我的应用程序将按预期运行,但这并不适合我。如何映射视图以便使用继承?