Spring数据findByStartDateBetween不起作用

时间:2014-12-30 21:45:44

标签: java spring spring-mvc spring-data

我写了一个Spring MVC应用程序。现在我尝试实现spring数据存储库,它有一个通过date参数查找所有Deal个对象的方法。

我试图实现这一点,就像在Spring Data网站(findByStartDateBetween)上一样:

 @Transactional(readOnly = true)
 public interface DealRepository extends JpaRepository <Deal, Long> {    
    List<Deal> findByStartDateBetween(Date from, Date to);

但它不起作用。它无法创建DealRepository bean。

我还尝试编写一些自定义@Query,但也失败了。

你能给我一些建议吗?

3 个答案:

答案 0 :(得分:0)

你需要有@Repository表示法,它最好在应用程序的开头创建bean。

答案 1 :(得分:0)

这应该有效

List<Deal> findByCreatedDateBetween(Date start, Date end);

答案 2 :(得分:-1)

解决了这个问题。我写了自定义查询,重要的是不要忘记使用@Param。这就是我得到的

 @Transactional(readOnly = true)
public interface DealRepository extends JpaRepository<Deal, Long> {

    @Modifying
    @Transactional
    @Query("select d from Deal d where d.createdDate >= :from and d.createdDate <= :to ")
    List<Deal> findByCreatedDateBetween(@Param("from") Date from, @Param("to") Date to);