Я работаю над приложением, в котором AliasToBean Transformer используется для заполнения боба POJO.БД - Oracle.
String sql = "select app.id as \"applicationId\",
app.valid_flag as \"validFlag\" from applications_t app";
query.setResultTransformer(Transformers.aliasToBean(Report.class));
// run the query
List<Report> result = (List<Report>)query.list();
Одно поле представляет собой строку, которая получает свое значение из CHAR(1 CHAR)
.
public class Report implements Serializable {
String validFlag; // With Getter/Setter
//...
}
. Я получаю ошибку для преобразования CHAR в строку как:следует:
Caused by: org.hibernate.PropertySetterAccessException: IllegalArgumentException occurred
while calling setter for property [validFlag (expected type = java.lang.String)];
target = [com.app.Report@1a89016a], property value = [N] setter of com.app.Report.validFlag
at ...
Значение свойства CHAR(1)
N
не может быть автоматически сохранено в строке.Какое решение?
Обратите внимание, что это не бин Table, где я могу сделать @Column(columnDefinition="CHAR")
.Это пользовательский POJO после преобразования.