Java JPA findByDate不返回值

时间:2019-12-14 14:03:05

标签: java hibernate spring-boot jpa spring-data-jpa

我正在从事这个Java项目。可以在我的笔记本电脑上很好地工作,但是现在我使用另一台机器进行开发。

这是我的实体类

@Entity
@Table(name = "attendance")
public class Attendance extends UserDateAudit {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private long id;

    @ManyToOne(fetch = FetchType.LAZY, optional = false)
    @JoinColumn(name = "student_id", nullable = false)
    @OnDelete(action = OnDeleteAction.CASCADE)
    private Student student;


    @Column(name = "attendance_Date")
    private Date attendanceDate;

    @Enumerated(EnumType.STRING)
    @Column(name = "attendance_type")
    private AttendanceType attendancetype;

    .......

}

这是我的存储库

public interface AttendanceRepository extends JpaRepository<Attendance, Integer> {
    List<Attendance> findByAttendanceDate(Date date);
}

这是我的服务类函数,称为存储库

public ResponseEntity<?> getUnmarkedStudetsForTheDate(Date date){
    List<Attendance> attendanceList =  attendanceRepository.findByAttendanceDate(date);
    List<Long> MarkedStudentList =  new ArrayList<>();
    for (Attendance attendance : attendanceList) {
        MarkedStudentList.add(attendance.getStudent().getId());
    }   
    return  ResponseEntity.ok(studentRepository.findByIdNotIn(MarkedStudentList))  ;
}

即使这种方法现在可以在我以前的笔记本电脑上使用,但仍然可以使用

List<Attendance> attendanceList = attendanceRepository.findByAttendanceDate(date);

不返回任何内容。正确的数据在数据库中。却什么也没返回

  

我在这里使用sql date作为日期类型。 import java.sql.Date;

0 个答案:

没有答案