Hibernate генерировать неправильный запрос SQLJAVA

Программисты JAVA общаются здесь
Anonymous
Hibernate генерировать неправильный запрос SQL

Сообщение Anonymous »

Я пытаюсь использовать критерии Hibernate для получения данных от ввода поиска пользователя, но это не успешно. Я получил эту ошибку: < /p>

Searre: name 'y1 _'. < /P>
< /blockquote>
Это запрос, который Hibernate создает в log 15. this_.customer_name как y1_, this_.sex as y2_, это_.birthday as y3_, это_.dress as y4_, это_.mail как y5_ из mstcustomer this_, где этот_.delete_ymd является null и y1_, как? Заказ по y0_ asc < /p>
< /blockquote>
Я попытался запустить этот запрос в SQL Server, и, действительно, он бросает ту же ошибку. Я не знаю, почему Hibernate создает неправильный запрос, пожалуйста, помогите мне исправить его. Большое спасибо!// Add criteria
criteria.add(Restrictions.isNull("deleteYMD"));
String customerName = t002Form.getCurrentInput().getCustomerName();

if (!Utils.checkEmpty(customerName)) {
criteria.add(Restrictions.like("customerName", customerName, MatchMode.ANYWHERE));
}
String sex = t002Form.getCurrentInput().getSex();
if (!Utils.checkEmpty(sex)) {
criteria.add(Restrictions.eq("sex", sex));
}
String fromBirthday = t002Form.getCurrentInput().getFromBirthday();
if (!Utils.checkEmpty(fromBirthday)) {
criteria.add(Restrictions.ge("birthday", fromBirthday));
}
String toBirthday = t002Form.getCurrentInput().getToBirthday();
if (!Utils.checkEmpty(toBirthday)) {
criteria.add(Restrictions.le("birthday", toBirthday));
}

// Add paging
int firstResultIndex = t002Form.getCurrentPage() * Constants.PAGE_SIZE;
criteria.setFirstResult(firstResultIndex);
criteria.setMaxResults(Constants.PAGE_SIZE);
criteria.addOrder(Order.asc("customerID"));

// Add projection
criteria.setProjection(Projections.projectionList()
.add(Projections.property("customerID"), "customerID")
.add(Projections.property("customerName"), "customerName")
.add(Projections.property("sex"), "sex")
.add(Projections.property("birthday"), "birthday")
.add(Projections.property("address"), "address")
.add(Projections.property("email"), "email"));

// Map to T002Dto
criteria.setResultTransformer(Transformers.aliasToBean(T002Dto.class));
List listCustomer = Utils.castList(T002Dto.class, criteria.list());
< /code>
Конфигурация Hibernate: < /p>




org.hibernate.dialect.SQLServerDialect
true
50
true




< /code>
Hibernate Mapping < /p>




















< /code>
pojo class < /p>
public class Customer {

private int customerID;
private String customerName;
private String sex;
private String birthday;
private String email;
private String address;
private Timestamp deleteYMD;
private Timestamp insertYMD;
private int insertPsnCD;
private Timestamp updateYMD;
private int updatePsnCD;

// Getters, Setters and Constructor
}


Подробнее здесь: https://stackoverflow.com/questions/795 ... -sql-query

Вернуться в «JAVA»