gpt4 book ai didi

orm - JPA/EclipseLink - 计算列

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

我正在努力学习JPA。我创建了一个简单的实体类。该实体有 3 列:ID、NAME、NUMBER_A。它工作正常:我可以毫无问题地坚持、更新和删除。

我想要做的是创建一个计算/计算列。我想检索 NUMBER_A,用它来计算一个新值并设置计算列(假设为 CALC_COLUMN)。

此计算列将不会保留。只有在运行时才需要。

我试图创建一个简单的双对象,它是 getter 和 setter,但是当我运行应用程序时,它抛出一个错误,告诉列 CALC_COLUMN 不存在,因为 JPA/EclipseLink 试图将它用作有效的数据库列(列 ' CALC_COLUMN' 要么不在 FROM 列表中的任何表中...)。

那么,有可能做到吗?

TIA,鲍勃

最佳答案

What I'm trying to do is to create a calculated/computed column.



JPA 不为此提供标准支持。一些提供者有特定的扩展,比如 Hibernate 的 @Formula 但 EclipseLink 没有 direct equivalent (尽管它确实提供了替代方案,请参阅链接的答案)。

This calculated column will not be persisted. It's only necessary on runtime.



那你为什么要说它的专栏呢? :)

I tried to create a simple double object and it's getter and setter, but when I run the application, it throws an error telling that column CALC_COLUMN doesn't exist because JPA/EclipseLink is trying to use it as a valid database column (Column 'CALC_COLUMN' is either not in any table in the FROM list...).



根据您的描述,我不确定您是否需要比返回计算值的附加 getter(没有任何字段)更花哨的东西。制作它 @Transient如果需要的话。但也许这只是一个例子。在这种情况下,请检查提到的链接(和 Request for Enhancement)。

关于orm - JPA/EclipseLink - 计算列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3843649/

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