gpt4 book ai didi

java - JPA:使用虚拟 ID 将 View 映射为实体

转载 作者:行者123 更新时间:2023-12-01 08:57:04 25 4
gpt4 key购买 nike

我正在尝试将数据库 View 映射到JPA实体。由于实体需要 ID,我在 StackOverflow 中寻找解决方案,发现最好的方法是将所有列设置为 ID

一切似乎都工作正常,除非其中一列具有空值。当它发生时,JPA 返回一个 null 对象。

有人遇到同样的问题吗?有没有办法指定 View 中确实不存在的虚拟 ID 列?

最佳答案

做到这一点的最佳方法是将身份逻辑放置在 View 本身内部。

一种解决方案是使用 ROW_NUMBERROWID 等数据库函数作为 View 查询的一部分来完成此操作。当然还有其他方法,但是将其作为 View 查询的一部分是最合乎逻辑的。

但是,我建议您将此类实体标记为@Immutable,因为数据是从只读 View 中获取的。这只是为了防止代码中出现问题或错误,您可能尝试修改此类实体,但这是不允许的。

关于java - JPA:使用虚拟 ID 将 View 映射为实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41980710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com