Hi All,
I'm trying to set default restrictions on EntityQuery but it is not working.
My goals is include the condition: parent is null
If i can, I'd like to do not filter by path, just by parent.
My code is:
public class UploadedFile {
private int id;
private UploadedFile parent;
private String path="";
private int status;
private Date uploadedDate;
private String errorMsg;
private Company company;
...
//getters and setters
}
public class UploadedFileList extends EntityQuery<UploadedFile> {
private static final long serialVersionUID = -1706808665658570124L;
private static final String EJBQL = "select uploadedFile from UploadedFile uploadedFile";
// private static final String[] RESTRICTIONS = { "lower(uploadedFile.path) like lower(concat(#{reportsList.report.path},'%'))",
// "uploadedFile.parent = #{null}"};
private static final String[] RESTRICTIONS = { "lower(uploadedFile.path) like lower(concat(#{uploadedFileList.uploadedFiles.path},'%'))"};
private UploadedFile uploadedFile = new UploadedFile();
public UploadedFileList() {
setEjbql(EJBQL);
setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));
//this restriction doesn't work
List<ValueExpression> restrictions = new ArrayList<ValueExpression>();
restrictions.add(createValueExpression("uploadedFile.parent = #{null}"));
setRestrictions(restrictions);
setMaxResults(25);
}
public UploadedFile getUploadedFiles() {
return uploadedFile;
}
}Thanks for all.
Pieri