【问题标题】:Java Hibernate - Is there a way to populate a Transient property with FormulaJava Hibernate - 有没有办法用公式填充瞬态属性
【发布时间】:2019-07-20 03:14:44
【问题描述】:

正如标题所说,有没有办法在 Transient 属性上做到这一点?

问这个,因为我知道,在将数据发送回 FE 时,我设置了 transient 属性,这没关系,但是如果我想查询它(例如排序,ORDER BY)我遇到了问题列是未知的(显然)。

有什么办法可以不删除 Transient 注释,还是唯一的办法?

场景:属性名称为 label,如果是 Customer 对象,则由 salutation、title、firstname、lastname 构造,如果是 Company 对象,则为 companyName。

提前致谢!

【问题讨论】:

    标签: hibernate jakarta-ee hql hibernate-mapping transient


    【解决方案1】:

    在我看来,您正在尝试提出革命性的解决方案,而不是正确和快速的解决方案。要么

    1. 将值保留在DB中,然后按子句顺序使用
    2. 按您组合创建瞬态属性的几列排序
    3. 保持属性瞬态并在应用程序逻辑中对结果进行排序
    4. 如果您坚持在 DB 级别排序,请在 DB 中创建存储函数,该函数将根据持久值重新创建您的瞬态属性

    【讨论】:

    • 谢谢,但我通过使用@NotAudited@Formula 解决了这个问题,导致在数据库端没有创建列,但在客户端是瞬态和计算的!
    • 甚至不知道这是可能的,所以谢谢你;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    相关资源
    最近更新 更多