Hibernate 要使用API,使用spring数据查询SQL如何?你想过吗?事实上,试着使用SPeL:我在这里发布了我所知道的所有spring数据方式(也包括你的问题), @Query("select c from Calendar c where :calendarDa
Hibernate 要使用API,使用spring数据查询SQL如何?你想过吗?事实上,试着使用SPeL:我在这里发布了我所知道的所有spring数据方式(也包括你的问题), @Query("select c from Calendar c where :calendarDa,hibernate,spring-boot,oracle11g,spring-data-jpa,jpql,Hibernate,Spring Boot,Oracle11g,Spring Data Jpa,Jpql,要使用API,使用spring数据查询SQL如何?你想过吗?事实上,试着使用SPeL:我在这里发布了我所知道的所有spring数据方式(也包括你的问题), @Query("select c from Calendar c where :calendarDay=:value") List<Calendar> getPersonName(@Param("calendarDay") String calendarDay, @Param("value") String value); @R
要使用API,使用spring数据查询SQL如何?你想过吗?事实上,试着使用SPeL:我在这里发布了我所知道的所有spring数据方式(也包括你的问题),
@Query("select c from Calendar c where :calendarDay=:value")
List<Calendar> getPersonName(@Param("calendarDay") String calendarDay, @Param("value") String value);
@Repository
public interface CalendarRepository extends JpaRepository<Calendar, Integer>, JpaSpecificationExecutor<Calendar> {
}
public class CalendarSpecification implements Specification<Calendar> {
private String randomColumnName; // A varchar column.
private String valueToSearchFor;
public CalendarSpecification(String randomColumnName, String valueToSearchFor) {
this.randomColumnName = randomColumnName;
this.valueToSearchFor = valueToSearchFor;
}
@Override
public Predicate toPredicate(Root<Calendar> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
return builder.and(builder.equal(root.<String>get(this.randomColumnName), this.valueToSearchFor));
}
}
@Service
public class CalendarService {
@Autowired
private CalendarRepository calendarRepository;
public List<Calendar> findCustom(String randomColumnName, String valueToSearchFor) {
CalendarSpecification cs = new CalendarSpecification(randomColumnName, valueToSearchFor);
return calendarRepository.find(cs);
// Or using lambda expression - without the need of CalendarSpecification class.
// return calendarRepository.find((Root<ProductCategory> root, CriteriaQuery<?> query, CriteriaBuilder builder) -> {
// return builder.and(builder.equal(root.<String>get(randomColumnName), valueToSearchFor));
// });
}
}
@Query(value = "select c from Calendar c where c.:calendarDay=:value", nativeQuery = true)
List<Calendar> getPersonName(@Param("calendarDay") String calendarDay, @Param("value") String value);