我有以下域模型:过滤子对象
Playlist
- >List<PlaylistItem>
- >Video
@Entity
class Playlist{
// id, name, etc
List<PlaylistItem> playlistItems;
// getters and setters
}
@Entity
class PlaylistItem{
// id, name, etc.
Video video;
// getters and setters
}
@Entity
class Video{
// id, name, etc.
boolean isDeleted;
// getters and setters
}
而且我的仓库:
public interface PlaylistRepository extends JpaRepository<Playlist, Long> {
List<Playlist> findAll();
}
现在,怎么办我只返回一个仅包含现有视频的播放列表,例如,如果数据库中有三个视频分配给该播放列表项目,并且其中一个视频具有isDeleted集合为true,那么我只需要获取两个项目。
我想你是在问一些类似于Hibernate FilterDef和Filter的功能。不幸的是,我不知道在spring数据jpa中使用类似的简单方法。仅供参考:http://stackoverflow.com/questions/11619174/hibernate-filter-children – 2015-09-02 10:13:19