代码之家  ›  专栏  ›  技术社区  ›  Herr Derb

方法查询多个表,包括排序?

  •  1
  • Herr Derb  · 技术社区  · 7 年前

    我不确定这个任务是否达到了方法查询的边界。 我有两张桌子,一张 User 表和a Password 使用者 暗语 s(其中最新的是当前的)。

    我想在我的 存储库获取“当前” 暗语 用于用户名。

    "Select FIRST(*) from Passwords INNERJOIN Users ON Users.id=Passwords.userId WHERE Users.username=%s ORDER BY Passwords.created DESC"
    

    作为方法查询,我尝试的是 findFirstPasswordOrderByPasswords_CreatedByUsers_Username(String username)

    这给了我一个例外:

    No property byUsers found for type long! Traversed path: UsersEntity.passwords.created.

    created 领域 这对于方法查询来说太多了吗?还是我做错了?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Aleksandr Primak    7 年前

    搜索密码时,应在密码存储库中定义此方法。在该存储库中,此方法将类似于:

    Passwords findFirstByUser_UsernameOrderByCreatedDesc(String username);
    

    要实现此方法,密码实体类应该(从查询中)引用用户属性上的Users表