我是春天新手,想知道是否有办法有条件地绘制一个房产。例如,如果列a的值为0,则使用列b作为值,否则使用默认值a。
我正在思考一些事情
@Column(name="ColumnA" > 0 ? "ColumnA" : "ColumnB")
private Integer myValue;
如果有人能帮助我朝着正确的方向前进,那就太棒了!
当您正在使用Spring时,您可能正在导入Hibernate实现,因此这是@Formula
注释(documentation)的一个很好的用例。
定义一个公式(派生值),它是一个SQL片段,在大多数情况下充当@Column替代品。
@Formula
注释接受本地SQL
,所以对于这种逻辑,SWITCH
,或者SQL
函数COALESCE
,是你应该使用的。
例:
@Formula("case when ColumnA > 0 then ColumnA else ColumnB end")
private Integer myValue;