@Query例子

This commit is contained in:
dengqichen 2024-11-27 16:24:57 +08:00
parent 6d9ce4e2fd
commit 68d42ce6f0
3 changed files with 5 additions and 10 deletions

View File

@ -59,11 +59,4 @@ public class Menu extends Entity<Long> {
@ToString.Exclude @ToString.Exclude
private Set<RoleMenu> roleMenus = new HashSet<>(); private Set<RoleMenu> roleMenus = new HashSet<>();
// 便捷方法获取所有关联的角色
@Transient
public Set<Role> getRoles() {
return roleMenus.stream()
.map(RoleMenu::getRole)
.collect(Collectors.toSet());
}
} }

View File

@ -22,7 +22,7 @@ import java.util.Set;
@Table(name = "sys_role_menu") @Table(name = "sys_role_menu")
@LogicDelete @LogicDelete
public class RoleMenu extends Entity<Long> { public class RoleMenu extends Entity<Long> {
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "role_id") @JoinColumn(name = "role_id")
@JsonIgnore @JsonIgnore
@ -35,7 +35,8 @@ public class RoleMenu extends Entity<Long> {
@ToString.Exclude @ToString.Exclude
private Menu menu; private Menu menu;
protected RoleMenu() {} protected RoleMenu() {
}
public RoleMenu(Role role, Menu menu) { public RoleMenu(Role role, Menu menu) {
this.role = role; this.role = role;

View File

@ -11,7 +11,8 @@ import java.util.List;
@Repository @Repository
public interface IRoleMenuRepository extends IBaseRepository<RoleMenu, Long> { public interface IRoleMenuRepository extends IBaseRepository<RoleMenu, Long> {
// List<RoleMenu> findByRoleId(Long roleId); @Query("SELECT rm.role FROM RoleMenu rm where rm.role.id = :roleId")
List<RoleMenu> findByRoleId(Long roleId);
// //
// void deleteByRoleId(Long roleId); // void deleteByRoleId(Long roleId);
// //