Я использую критерии спящего режима, и я хотел бы сравнить переменную в моем коде. Но у меня есть еще эта проблема:HIBERNATE - не удалось разрешить свойство
org.hibernate.QueryException: could not resolve property: isBike of: models.PolozkyEntity
В другой части моего кода, он работает идеально, но там, я не знаю, почему это не работает.
PolozkyEntity.class:
@Entity
@Table(name = "polozky", schema = "", catalog = "dbs_projekt")
public class PolozkyEntity {
private int id;
private int idProduct;
private boolean isBike;
private boolean isAccessories;
private ObjednavkaEntity id_odbjednavkyByIdO;
@Id @GeneratedValue
@Column(name = "id")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Basic
@Column(name = "id_product")
public int getIdProduct() {
return idProduct;
}
public void setIdProduct(int idProduct) {
this.idProduct = idProduct;
}
@Basic
@Column(name = "is_bike")
public boolean isBike() {
return isBike;
}
public void setBike(boolean isBike) {
this.isBike = isBike;
}
@Basic
@Column(name = "is_accessories")
public boolean isAccessories() {
return isAccessories;
}
public void setAccessories(boolean isAccessories) {
this.isAccessories = isAccessories;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
PolozkyEntity that = (PolozkyEntity) o;
if (id != that.id) return false;
if (idProduct != that.idProduct) return false;
if (isBike != that.isBike) return false;
if (isAccessories != that.isAccessories) return false;
if (id_odbjednavkyByIdO != that.id_odbjednavkyByIdO) return false;
return true;
}
@Override
public int hashCode() {
int result = id;
result = 31 * result + idProduct;
result = 31 * result + (isBike ? 1 : 0);
result = 31 * result + (isAccessories ? 1 : 0);
return result;
}
@ManyToOne
@JoinColumn(name = "id_objednavky", referencedColumnName = "id", nullable = false)
public ObjednavkaEntity getId_odbjednavkyByIdO() {
return id_odbjednavkyByIdO;
}
public void setId_odbjednavkyByIdO(ObjednavkaEntity idObjednavky) {
this.id_odbjednavkyByIdO = idObjednavky;
}
}
Следующая
, когда я делаю это:
Criteria criteria = session.createCriteria(PolozkyEntity.class);
criteria.add(Restrictions.like("id_odbjednavkyByIdO.id", find));
criteria.add(Restrictions.like("isBike", "true"));
list_pom = criteria.list();
Задача на линии
criteria.add(Restrictions.like("isBike", "true"));
Можете ли вы помочь мне пожалуйста?
Попробуйте «велосипед» вместо «isBike». – misko321
Спасибо :) Это помогает .... но почему? : D –
@ TomášČičman Так как спецификация Java Bean определяет свойства. Свойство foo соответствует аксессурам getFoo() и setFoo(). Для булевых свойств геттер может быть isFoo(). –