Spring Data JPA 复杂仓库接口

Spring Data JPA 复杂仓库接口

java

复制

下载

@Repository

public interface OrderRepository extends JpaRepository<Order, Long>,

JpaSpecificationExecutor<Order> {

// 派生查询方法

List<Order> findByCustomerIdAndStatusIn(Long customerId, List<JiAOYu.HUoCheNGrM.CN/jy/19728.html OrderStatus> statuses);

// JPQL查询

@Query("SELECT o FROM Order o WHERE o.totalAmount > :minAmount AND o.createdAt >= :startDate")

Page<Order> findLargeOrders(@Param("minAmount") BigDecimal minAmount,

@Param("startDate") LocalDateTime startDate,

Pageable pageable);

// 动态查询

default List<Order> findOrdersByCriteria(OrderSearchCriteria criteria) {

return findAll((root, JiAOYu.HUoCheNGrM.CN/jy/19727.html, cb) -> {

List<Predicate> predicates = new ArrayList<>();

if (criteria.getCustomerId(JiAOYu.HUoCheNGrM.CN/jy/19726.html) != null) {

predicates.add(cb.equal(root.get("customerId"), criteria.getCustomerId()));

}

if (criteria.getStartDate() != null) {

predicates.add(cb.greaterThanOrEqualTo(root.get("createdAt"), criteria.getStartDate()));

}

return cb.and(predicates.toArray(new Predicate[0]));

});

}

}

4. Spring Security 配置(OAuth2 + JWT)

java

复制

下载

@EnableWebSecurity

@EnableGlobalMethodSecurity(prePostEnabled = true)

public class SecurityConfig JiAOYu.HUoCheNGrM.CN/jy/19725.htmlextends WebSecurityConfigurerAdapter {

@Autowired

private JwtAuthenticationFilter jwtFilter;

@Override

protected void configure(HttpSecurity http) throws Exception {

http.csrf().disable()

.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)

.and()

.authorizeRequests()

.antMatchers("/api/auth/ JiAOYu.HUoCheNGrM.CN/jy/19724.html").permitAll()

.antMatchers("/api/admin/**").hasRole("ADMIN")

.anyRequest().authenticated()

.and()

.addFilterBefore(jwtFilter, UsernamePasswordAuthenticationFilter.class)

.oauth2ResourceServer()

.jwt()

.jwtAuthenticationConverter(jwtAuthenticationConverter());

}

private Converter<Jwt, AbstractAuthenticationToken> jwtAuthenticationConverter() {

JwtAuthenticationConverter converter = new JwtAuthenticationConverter();

converter.setJwtGrantedAuthoritiesConverter(jwt -> {

List<String> JiAOYu.HUoCheNGrM.CN/jy/19723.html = jwt.getClaimAsStringList("roles");

return roles.stream()

.map(SimpleGrantedAuthority::new)

.collect(Collectors.toList());

});

return converter;

}

}

特别声明:[Spring Data JPA 复杂仓库接口] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

半筒丝袜穿搭看过来,配上牛仔短裙绝了!透气轻薄肉眼可见,好穿

半筒丝袜穿搭看过来,配上牛仔短裙绝了!透气轻薄肉眼可见,好穿

观众在影院为《东极岛》暴风哭泣,但一丝不和谐的声音让人气愤(观众在影院为什么不看)

《东极岛》的上映,就是用影像为历史作证,让全世界看到真相,是中国渔民,而不是日本人,挽救了384条鲜活的生命。 换个思路,且不说这是历史史实,就算阿荡救上来的,是一个被日军抓到的中国军人,电影的发展和人物的…

观众在影院为《东极岛》暴风哭泣,但一丝不和谐的声音让人气愤(观众在影院为什么不看)

女子发布民警勾连商家等不实言论被拘 西安通报栀子花开汉服馆冲突案(女民警闹市反扒)

西安市公安局雁塔分局通报:8月4日,我局对栀子花开汉服馆治安案件立案调查,目前案件已全面调查清楚,现将情况通报如下:2025年8月3日,游客王某颜(女,34岁)与栀子花开汉服馆因旅拍服务中选照片问题产生纠纷,经市场监管部门、律师与我局调解,

女子发布民警勾连商家等不实言论被拘 西安通报栀子花开汉服馆冲突案(女民警闹市反扒)

“长图雅音|书香影院”本周播放《人生大事》

影片《人生大事》讲述了刑满释放的殡葬师三哥在一次出殡中遇见了孤儿武小文,意外地改变了三哥对职业和生活态度的故事。该片先后获得第35届中国电影金鸡奖六项提名,第十九届中国电影华表奖优秀青年电影创作奖。本周六下…

“长图雅音|书香影院”本周播放《人生大事》

ppt怎么转成pdf格式?分享七个较为便捷的方法(ppt如何转为pdf文档)

如果您对于转换质量要求较高,或者需要批量转换 PPT 文件,可以使用专业的 PDF 转换软件。 具体ppt转成pdf格式的方法:先打开SmallPDFer软件,在软件界面中找到“PPT转PDF”功能模块。利…

ppt怎么转成pdf格式?分享七个较为便捷的方法(ppt如何转为pdf文档)