им пытаются запустить HQL запрос, который дает мне ошибку говоря:Как написать запрос на соединение в HQL?
org.hibernate.QueryException: could not resolve property:
UserType of: EntityPack.UserTypeMenu
[from EntityPack.UserTypeMenu as utm ,EntityPack.UserType as ut
where utm.UserType.userTypeId=ut.userTypeId and ut.userTypeDesc like ' %ad%' ]
это функция, где я пишу запрос:
public ObservableList PostTableusertypemenu(String search, int q) {
ObservableList data;
data = FXCollections.observableArrayList();
List ll=null;
ll = pop.UrviewTable("from UserTypeMenu as utm ,UserType as ut "+
"where utm.UserType.userTypeId=ut.userTypeId"+
" and ut.userTypeDesc like ' %"+ search +"%' ");
Iterator ite = ll.iterator();
while (ite.hasNext()) {
UserTypeMenu obj = (UserTypeMenu) ite.next();
data.add(obj);
}
return data;
}
мой UserType объект класса:
@Entity
@Table(name = "user_type")
public class UserType {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Basic(optional = false)
@Column(name = "User_Type_Id")
private Integer userTypeId;
@Basic(optional = false)
@Column(name = "User_Type")
private String userType;
@Basic(optional = false)
@Column(name = "User_Type_Desc")
private String userTypeDesc;
@Basic(optional = false)
@Column(name = "Status")
private String status;
@Basic(optional = false)
@Column(name = "Markers")
private String markers;
}
UserTypeMenu Класс сущности:
@Entity
@Table(name = "user_type_menu")
@NamedQueries({
@NamedQuery(name = "UserTypeMenu.findAll", query = "SELECT u FROM UserTypeMenu u")})
public class UserTypeMenu implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Basic(optional = false)
@Column(name = "User_Type_Menu_Id")
private Integer userTypeMenuId;
@Basic(optional = false)
@Column(name = "Status")
private String status;
@Basic(optional = false)
@Column(name = "Markers")
private String markers;
@ManyToOne(optional = false)
private UserType userType;
@ManyToOne(optional = false)
private UserMenuMaster userMenuMaster;
@ManyToOne(optional = false)
private UserMenuBar userMenuBar;
}
Я хочу получить данные из UsertypeMenu на основе описания Usertype.
пожалуйста, помогите мне .. спасибо. :)
вы можете предложить мне любой сайт, который поможет мне узнать подробнее о hql в деталях. ?? :) –
Конечно, лучшим местом для этого является [Hibernate documentation] (https://docs.jboss.org/hibernate/orm/3.5/reference/en/html/queryhql.html). Конечно, поскольку HQL является расширением JPQL, вы также можете проверить [документацию JPQL] (http://docs.oracle.com/cd/E15523_01/apirefs.1111/e13946/ejb3_langref.html). –
это givimg me java.lang.ClassCastException: [Ljava.lang.Object; не может быть передан в EntityPack.UserTypeMenu эта ошибка. at UserTypeMenu obj = (UserTypeMenu) ite.next(); data.add (obj); –