欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Data JPA 复合主键查询,根据复合主键中的一个字段进行查询

程序员文章站 2022-04-24 22:54:50
...

应用场景:

角色菜单按钮表,需要根据角色ID菜单ID 查询出 此角色当前菜单对应的按钮信息

实体类

@Entity
@Table(name = "system_role_menuu_button")
@Data
public class RoleMenuButton implements Serializable {
    @EmbeddedId
    private RoleMenuButtonPK id;
    @ManyToOne
    @JoinColumn(name = "roleId")
    @MapsId("roleId")
    @JsonIgnore
    private Role role;
    @ManyToOne
    @JoinColumn(name = "menuId")
    @MapsId("menuId")
    @JsonIgnore
    private Menu menu;
    @ManyToOne
    @JoinColumn(name = "buttonId")
    @MapsId("buttonId")
    @JsonIgnore
    private Button button;

}

Repository

@Repository
public interface RoleMenuButtonQueryRepository extends JpaRepository<RoleMenuButton, RoleMenuButtonPK > {
	// 查找一个条件
    List<RoleMenuButton> findByIdRoleId(String RoleId);
	
	// 查找两个条件用And拼接
	List<RoleMenuButton> findByIdRoleIdAndIdMenuId(String RoleId,String MenuId);
}