1
0

feat: 查询优化

This commit is contained in:
2025-09-16 18:20:59 +08:00
parent 17c96e96fc
commit b5688bd3ab
3 changed files with 34 additions and 0 deletions

View File

@@ -2,8 +2,12 @@ package com.lanyuanxiaoyao.leopard.core.repository;
import com.lanyuanxiaoyao.leopard.core.entity.Daily;
import com.lanyuanxiaoyao.service.template.repository.SimpleRepository;
import com.querydsl.core.types.Predicate;
import java.time.LocalDate;
import java.util.List;
import java.util.Optional;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.repository.EntityGraph;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
@@ -14,4 +18,12 @@ public interface DailyRepository extends SimpleRepository<Daily> {
@Query("select distinct daily.tradeDate from Daily daily where daily.stock.id = ?1")
List<LocalDate> findDistinctTradeDateByStockId(Long stockId);
@EntityGraph(attributePaths = {"stock"})
@Override
Optional<Daily> findOne(Predicate predicate);
@EntityGraph(attributePaths = {"stock"})
@Override
List<Daily> findAll(Predicate predicate, Sort sort);
}

View File

@@ -2,8 +2,20 @@ package com.lanyuanxiaoyao.leopard.core.repository;
import com.lanyuanxiaoyao.leopard.core.entity.FinanceIndicator;
import com.lanyuanxiaoyao.service.template.repository.SimpleRepository;
import com.querydsl.core.types.Predicate;
import java.util.List;
import java.util.Optional;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.repository.EntityGraph;
import org.springframework.stereotype.Repository;
@Repository
public interface FinanceIndicatorRepository extends SimpleRepository<FinanceIndicator> {
@EntityGraph(attributePaths = {"stock"})
@Override
Optional<FinanceIndicator> findOne(Predicate predicate);
@EntityGraph(attributePaths = {"stock"})
@Override
List<FinanceIndicator> findAll(Predicate predicate, Sort sort);
}

View File

@@ -2,7 +2,10 @@ package com.lanyuanxiaoyao.leopard.core.repository;
import com.lanyuanxiaoyao.leopard.core.entity.Stock;
import com.lanyuanxiaoyao.service.template.repository.SimpleRepository;
import jakarta.transaction.Transactional;
import java.util.Collection;
import java.util.List;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
@@ -14,4 +17,11 @@ import org.springframework.stereotype.Repository;
public interface StockRepository extends SimpleRepository<Stock> {
@Query("select distinct stock.industry from Stock stock where stock.industry is not null")
List<String> findDistinctIndustries();
@Query("select distinct stock.code from Stock stock")
List<String> findDistinctCodes();
@Modifying
@Transactional(rollbackOn = Throwable.class)
void deleteAllByCodeIn(Collection<String> code);
}