【问题标题】:In JPA can I have a read only boolean for if a row exists?在 JPA 中,如果存在一行,我可以有一个只读布尔值吗?
【发布时间】:2012-07-22 18:22:05
【问题描述】:

所以要尝试更充实一点...我有一个对象,让我们调用用户,我想知道该用户是否是员工。员工是他们自己的对象。所以我想做的而不是拥有一个员工对象是有一个布尔值来告诉我该用户是否是员工。我认为这可以通过某种形式的只读加入来完成?

【问题讨论】:

  • 只读连接?你的数据库是什么样的?你能改变它吗? (即,您可以在用户表中添加一个布尔列)
  • 不...如果行存在,我只想要一个布尔值...基本上我是根据行是否存在来组成一个列/变量。我只是说我认为这将是一个只读加入
  • 可以stackoverflow.com/a/2986354/692560 帮助你吗? (特定于休眠)。

标签: java spring jpa spring-mvc


【解决方案1】:

您可以使用@JoinColumnUser 对象连接到Employee 对象(您不必超过其中的ID)。您也不需要为 Employee 对象创建一个 getter,但您现在可以编写一个 isEmployee() 方法来检查 employee != null。您可能希望确保使用 Eager fetch 始终在其中获取信息。

【讨论】:

    【解决方案2】:

    您可以使用@Transient 注释getter 方法,并在此方法中编写逻辑操作,例如如果user_type 是EMP 则返回true

    【讨论】:

    • 我无权访问该值...我需要获取该值。
    • 列出我的表名及其列
    【解决方案3】:

    JPA 具有可在 JPQL 中使用的计数功能。您只需要在 where 子句中区分它是否是员工即可。

    【讨论】:

    • 我不想使用 jpql。我希望它只是 jpa 注释或一种方法
    猜你喜欢
    • 2018-10-28
    • 2012-02-13
    • 2011-07-08
    • 2021-01-09
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 2020-09-09
    相关资源
    最近更新 更多