我有这个班级
@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)")
这是正确的方法吗?这两个公式的逻辑完全不同。
答案 0 :(得分:5)
答案 1 :(得分:0)
我有一个表格,其总块数为BITX_SESSION.TOTAL BLOCKS
现在我需要计算另一个表的百分比,该表具有收到的块数BITX_SESSION_DEVICE.BLOCKS_RECEIVED 两个表都有session_id来标识我需要的会话。
我需要的输出是接收到的块的百分比(BLOCKS_RECEIVED / TOTAL BLOCKS * 100)。不知道如何使用公式编写它。