加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Spring数据存储库的字段字段查找方法

发布时间:2020-12-15 00:59:31 所属栏目:Java 来源:网络整理
导读:我有两个实体,一个用户和一个注册用户. 注册用户具有user类型的字段.我想在Spring注册用户实体的数据存储库中有一个方法,通过连接到注册用户的用户的用户名搜索所有注册用户. 因此,这是具有关联用户字段的注册用户实体: @Entitypublic class RegisteredUser
我有两个实体,一个用户和一个注册用户.

注册用户具有user类型的字段.我想在Spring注册用户实体的数据存储库中有一个方法,通过连接到注册用户的用户的用户名搜索所有注册用户.

因此,这是具有关联用户字段的注册用户实体:

@Entity
public class RegisteredUser implements Serializable {

    ... 
    @OneToOne
    @JoinColumn(name = "USERNAME_FK")
    private User user;
    ...
}

这是一个用户名:

@Entity
public class User implements Serializable { 
    ...
    @Id
    @Column(nullable = false)
    protected String username;
    ...
}

解决方法

Spring Data(至少1.12.x版本)使用 PropertyPath#from方法为从方法名称构造的谓词提取属性的路径.根据 sources,它使用下划线作为“字段分隔符”.所以第一个变体如下
public interface RegisteredUserRepository extends CrudRepository<RegisteredUser,String> {
    List<RegisteredUser> findRegisteredUserByUser_Username(String username);
}

如果找不到整个字段名称,还有一些代码将大写字符作为字段分隔符处理.因此,如果您在RegisteredUser中没有userUsername字段,则第二个varian是

public interface RegisteredUserRepository extends CrudRepository<RegisteredUser,String> {
    List<RegisteredUser> findRegisteredUserByUserUsername(String username);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读