gpt4 book ai didi

hibernate - 如何使用@Formula(在 Hibernate 中)引用同一个(当前)对象

转载 作者:行者123 更新时间:2023-12-04 19:16:34 24 4
gpt4 key购买 nike

我有这个类

@Entity
@Table(name = "DB.APPL_SESSION")
@AttributeOverrides({@AttributeOverride(name = "id", column = @Column(name = "APPL_SESSION_ID"))})
@SequenceGenerator(name = "TableSequence", sequenceName = "DB.APPL_SESSION_SQ")

public class AiSession{

@Formula("(select sum(nvl(budg.AMT_OV,budg.AMT)) from DB.BUDGET budg where budg.APPL_SESSION_ID = APPL_SESSION_ID)")
private LocalDate realSessionStartDate;

在上面的公式中,我使用 DB.BUDGET 对象和当前对象 ID (APPL_SESSION_ID)。但是现在我只想使用 AidApplicantYearSession 类中的下一个成员变量 (StartDate)
@Basic
@Temporal(TemporalType.DATE)
@Column(name = "START_OV_DT")
private Date overrideStartDate;

我应该如何编写一个与上面类似但仅使用对象的成员变量的公式?我想出了
 @Formula("(select START_OV_DT from DB.APPL_SESSION)")

这是正确的方法吗?这两个公式的逻辑完全不同。

最佳答案

@Formula简单地插入到 SQL select子句,以便您可以在其中使用列名:

@Formula("START_OV_DT")

另见:
  • 5.1.4.1.5. Formula
  • 关于hibernate - 如何使用@Formula(在 Hibernate 中)引用同一个(当前)对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8825940/

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