Spring Data JPA Query方法复制对象

时间:2018-08-09 11:27:12

标签: java spring spring-data-jpa

我正尝试通过以下方式使用查询方法来检索对象列表:

@Entity
public class Cancellation {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;


    @OneToMany(mappedBy="cancellation", cascade=CascadeType.ALL)
    @JsonBackReference
    private Set<Schedule> schedules = new HashSet<Schedule>();

}

@Entity
public class Schedule {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

    @NotNull
    private Date date;

    @NotNull
    private Time time;

    @ManyToOne
    @JsonManagedReference
    private Cancellation cancellation;

}



public interface CancellationRepository extends CrudRepository<Cancellation, 
Integer> {  

    List<Cancellation> findBySchedulesDateGreaterThanEqual(Date date);

}

问题在于,当列表中仅应返回一个Cancellation对象时,查询返回的对象很好,其余的返回空。返回的对象数与数据库中的计划数匹配。

In the image in single object Cancelled not empty is the first

在单个对象的图像中,“取消不为空”是第一个。

解决方案

根据@JBNizet的建议,我将方法更改为:

List<Cancellation> findDistinctCancellationBySchedulesDateGreaterThanEqual(Date date);

现在像魔咒一样工作

0 个答案:

没有答案