I have Class Customer ,User , Customer has property manager of user class
Class Customer {
/** The manager. */
@ManyToOne(optional = false, cascade = {CascadeType.PERSIST, CascadeType.REFRESH, CascadeType.MERGE})
@JoinColumn(name = "MANAGER")
@JsonSerialize(using = EntitySerializer.class)
@JsonDeserialize(using = UserDeserializer.class)
private User manager;
}
-------------------------------------
Class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = User.TABLE_NAME + "_SEQUENCE")
@SequenceGenerator(name = User.TABLE_NAME + "_SEQUENCE", sequenceName = User.TABLE_NAME + "_SEQ")
@Column(name = FIELD_ID, nullable = false)
@SuppressWarnings("PMD.ShortVariable")
private Integer id;
@Override
public Integer getId() {
return id;
}
@Override
public void setId(final Integer newId) {
//System.out.println("setID");
id = newId;
}
}
Теперь, когда я пытаюсь создать критерииОшибка: - org.hibernate.PropertyAccessException:. Не может получить значение поля с помощью отражения добытчика
окончательные критерии Критерии = getSession() createCriteria (Customer.class) ; criteria.add (Restrictions.ilike ("Менеджер", "%" + SEARCHTERM + "%"))
Это бросали ошибки: - org.hibernate.PropertyAccessException: не мог получить значение поля за счет отражения от геттер ком .User.id
Вызванный: java.lang.IllegalArgumentException: Невозможно установить java.lang.Integer поле com.User.id к java.lang.String
** поле Id является целым числом **
Но в ситуации, мне нужно фильтровать мое состояние WRT к ид ... т.е. manger.id. Любой способ архивирования –