Ну, во-первых, как гласит след, fileobject is not mapped
но FileObject
есть.Поэтому измените ваш HQL-запрос на:
select filename, size, id, type from FileObject
Во-вторых, поскольку вы используете проекции, вы получите не List<FileObject>
, а List<Object[]>
.Итак, ваш код должен быть:
private static final String SQL_GET_FILE_LIST = "select filename, size, id, type from FileObject";
@Override
public List<Object[]> getFileList(String type) {
// TODO Auto-generated method stub
List<Object[]> files = hbTemplate.find(SQL_GET_FILE_LIST);
hbTemplate.flush();
return files;
}
Или, если вы хотите получить безопасный тип результата, вы можете использовать выражение конструктора (при условии, что ваш класс предоставляет соответствующий конструктор):
select new FileObject(filename, size, id, type) from FileObject
И тогда вы можете использовать свой текущий код.
private static final String SQL_GET_FILE_LIST = "select new FileObject(filename, size, id, type) from FileObject";
@Override
public List<FileObject> getFileList(String type) {
// TODO Auto-generated method stub
List<FileObject> files = hbTemplate.find(SQL_GET_FILE_LIST);
hbTemplate.flush();
return files;
}
Справочник
- Справочное руководство по ядру Hibernate