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); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |