我的实体中有此定义
@Formula(value = "(select coalesce(sum(v.value::float),0) from jsonb_each(urlaub_korrekturen) as \"v\")")
private Float urlaubKorrektur;
Hibernate生成这个选择查询,如果我删除子选择中的p1_0,它将完美地工作。有什么方法可以告诉Hibernate忽略表别名吗?
select
m1_0.nachname,
m1_0.vorname,
p1_0.monat,
(
select coalesce(sum(v.value::float), 0) from jsonb_each(p1_0.urlaub_korrekturen) as p1_0."v"
),
p1_0.urlaub_korrekturen,
p1_0.urlaub_monatssaldo,
p1_0.urlaub_neu
from
erp.personal_zeiterfassung_monatsabschluss p1_0
left join erp.personal_mitarbeiter m1_0 on
m1_0.id = p1_0.mitarbeiter_id
或者,是否有其他/更好的方法来获取josnb
字段中所有值的总和?
1条答案
按热度按时间nx7onnlm1#
您绝对应该编写一个HQL查询来执行此操作,并且不要用它来污染您的实体模型。
编写自定义Hibernate函数:
然后您可以这样查询: