1

我不确定我是否通过此任务达到了方法查询的边界。我有两张桌子,一张User桌子和一张Password桌子。AUser可能有多个Passwords(其中最新的是当前的)。

我想在我的User存储库中进行方法查询以获取用户名的“当前” 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字段。这对于方法查询来说太多了吗?还是我做错了?

4

1 回答 1

1

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

Passwords findFirstByUser_UsernameOrderByCreatedDesc(String username);

要实现此方法,您的 Password 实体类应引用 User 属性上的 Users 表(来自查询)

于 2017-10-11T15:02:58.410 回答