我正在尝试编写一个HQL查询来获取记录的ID。但查询是给我这个错误如何为多个实体编写HQL查询
org.hibernate.QueryException:无法解析属性:的CompanyMaster:EntityPack.UserTypeMenuBarComp [选择userTypeMenuBar.userMenuBar.menuBarId FROM EntityPack.UserTypeMenuBarComp作为UserTypeMenuBarComp其中UserTypeMenuBarComp.companyGroupMaster.companyGroupId = 4和UserTypeMenuBarComp.CompanyMaster.companyMasterId = 2和UserTypeMenuBarComp.userTypeMenuBar.userType.userTypeId = 2]
这是我的查询:
select userTypeMenuBar.userMenuBar.menuBarId FROM UserTypeMenuBarComp as UserTypeMenuBarComp where UserTypeMenuBarComp.companyGroupMaster.companyGroupId=" +
UsercompGid(LoginImpl.masterid) +
" and UserTypeMenuBarComp.CompanyMaster.companyMasterId=" +
Usercompid(LoginImpl.masterid) +
" and UserTypeMenuBarComp.userTypeMenuBar.userType.userTypeId=" +
LoginImpl.usertypid + ""
下面是实体类(UserTypeMenuCompany):
@Entity
public class UserTypeMenuCompany implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Basic(optional = false)
@Column(name = "User_Type_Menu_Company_Id")
private Integer userTypeMenuCompanyId;
@Basic(optional = false)
@Column(name = "Status")
private String status;
@Column(name = "Markers")
private String markers;
@ManyToOne(optional = false)
private UserTypeMenu userTypeMenu;
@ManyToOne(optional = false)
private CompanyMaster companyMaster;
@JoinColumn(name = "Company_Group_Id", referencedColumnName = "Company_Group_Id")
@ManyToOne(optional = false)
private CompanyGroupMaster companyGroupMaster;
(UserTypeMenuBar)
public class UserTypeMenuBar implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Basic(optional = false)
@Column(name = "User_Type_Menu_Bar_Id")
private Integer userTypeMenuBarId;
@Basic(optional = false)
@Column(name = "Status")
private String status;
private String markers;
//@JoinColumn(name = "User_Type_Id", referencedColumnName = "User_Type_Id")
@ManyToOne(optional = false)
private UserType userType;
// @JoinColumn(name = "Menu_Bar_Id", referencedColumnName = "Menu_Bar_Id")
@ManyToOne(optional = false)
private UserMenuBar userMenuBar;
(UserMenuBar)
public class UserMenuBar implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Basic(optional = false)
@Column(name = "Menu_Bar_Id")
private Integer menuBarId;
@Basic(optional = false)
@Column(name = "Menu_Bar_Desc")
private String menuBarDesc;
@Basic(optional = false)
@Column(name = "Status")
private String status;
@Basic(optional = false)
@Column(name = "Markers")
private String markers;
和(用户类型)
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;
你好@Chirag KAMAT,你解决了,你有错误在你的问题中提到或者你仍然错误? – Dev