我正在使用jpa 2.0,并有以下实体:
@Entity
public class Folder{
@ElementCollection
@CollectionTable(name="folder_files")
private Set<String> files;
// .....
}
给定一个文件名,我想删除所有文件等于所给文件名的条目。在SQL中,它可能是这样的:
Delete from folder_files where files = XXX
有没有办法使用Criteria-API执行此查询?如果不行,是否有办法使用JPQL执行此查询?
更新: 我认为我的问题不够清晰: 由于JPQL使用实体(而不是表),因此我不能仅执行上面编写的SQL,另外,由于我正在使用@ElementCollection,我不知道如何处理此变量。 我想删除该集合中所有条目(在我的情况下是文件集)中保存的给定值,从所有实体中删除。 是否可以使用JPQL或(更好的是)Criteria-API实现这一点?