gpt4 book ai didi

java - 在 Hibernate 中映射计算字段

转载 作者:行者123 更新时间:2023-12-04 07:02:43 25 4
gpt4 key购买 nike

我不确定这在 Hibernate 中是否可行,但如果是这样,那就太棒了 :) 我实际上还没有通过这个概念阶段,但我会尽我所能解释。

我想利用 Oracle Spatial 功能进行基于邻近度的搜索。想象一下,我有一个 Location 实体,用于存储纬度/经度值。然后想象我想查询用户指定的纬度/经度位置 5 公里内的所有位置。在结果中,我想查看所有匹配的位置,但除了 Location 实体上的标准映射字段之外,我还想显示每个位置相对于用户指定位置的距离。

Oracle Spatial 允许我将其作为 SQL 中的计算字段执行此操作,但我不明白 Hibernate 如何支持从数据库返回的计算字段。由于计算字段不是表中的列,我无法进行标准映射。

是否有一些特殊功能允许我为 POJO 创建包装器并将 Hibernate 映射到它们以便可以返回额外的计算属性?

最佳答案

我发现,使用 JPA 注释,我可以简单地在映射对象上创建一个与计算的 sql 字段同名的属性(例如“距离”),并将其注释为:

@Column(insertable=false, updatable=false)
private Double distance;

这应该映射属性,并且在您尝试从数据库中保存时不会抛出错误。

请注意,正确的注释是可更新的(不可更新,因为它最初发布)

关于java - 在 Hibernate 中映射计算字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1594691/

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