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

Method query with multiple tables including ordering?

我不确定这个任务是否达到了方法查询的边界。 我有两个 table,一个 User table 和一个 Password table。一个 User 可能有多个 Password(最新的是当前的)。

我想在我的 User 存储库中进行方法查询以获取用户名的 "current" Password

在 SQL 中看起来像这样

"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字段。 这对于方法查询来说太多了吗?还是我做错了?

您应该在搜索密码时在密码存储库中定义此方法。在该存储库中,此方法将如下所示:

Passwords findFirstByUser_UsernameOrderByCreatedDesc(String username);

要实施此方法,您的密码实体 class 应该引用用户 属性 上的用户 table(来自查询)