-1
많은 매핑을 여기에서 사용하고 있습니다. POJO 클래스가 많이 있습니다.many to many 매핑에 대한 Hibernate 쿼리
Menu.java :
@Entity
@Table(name = "menu")
public class Menu {
@Id
@Column(name = "menuid")
@GeneratedValue
private int menuid;
@Column(name = "parentid")
private int parentid;
@Column(name = "menuname")
private String menuname;
@Column(name = "url")
private String url;
@Column(name = "status")
private String status;
@Column(name = "usertype")
private String usertype;
@Column(name = "isparent")
private boolean isParent;
private ArrayList<Menu> childMenu;
@ManyToMany(mappedBy="menus")
private List<User> users;
public Menu(Integer menuid){
this.menuid=menuid;
}
public Menu(){
}
User.java :
@Entity
@Table(name = "user")
public class User implements Serializable {
@Id
@Column(name = "userid")
@GeneratedValue
private Integer userId;
@Column(name = "OUTLET_ID")
private int outletId;
@Column(name = "NAME")
private String name;
@Column(name = "USERTYPE")
private String userType;
@Column(name = "LOGINID")
private String loginId;
@Column(name = "PASSWORD")
private String password;
@Column(name = "CREATEDDATE")
private String createdDate;
@Column(name = "CONTACTNUMBER")
private String contactNumber;
@Column(name = "EMAILID")
private String emailId;
@Column(name = "OUTLETTYPE")
private String outlettype;
@Transient
private String nsec;
@javax.persistence.Transient
ArrayList<Integer> menuid;
@javax.persistence.Transient
ArrayList<Long> clientid;
@javax.persistence.Transient
ArrayList<String> clientName;
@ManyToMany(fetch=FetchType.EAGER) @JsonIgnore
@JoinTable(name="user_menu",joinColumns={@JoinColumn(name="userid")},
inverseJoinColumns={@JoinColumn(name="menuid")})
public List<Menu> menus;
@ManyToMany(fetch=FetchType.EAGER) @JsonIgnore
@JoinTable(name="user_client",joinColumns={@JoinColumn(name="userid")},
inverseJoinColumns={@JoinColumn(name="outletid")})
public List<Client> clients;
public User() {
}
I이 사용자가 자동으로 만들어집니다 메뉴와 세 번째 매핑 테이블 user_menu
, 나는 성공적으로 화재 쿼리를 다음과 같은 경우에 발생할 수 mysql
select * from menu m inner join user_menu um on m.menuid = um.menuid where um.userid = 41;
최대 절전 모드에서이 쿼리를 작성하고 싶습니다. 이 물건 ??? 마지막으로 내 대답을 찾을
은이 링크 -> http://stackoverflow.com/questions/13412112/inner-join-using-hql –
감사를 보았다, 내 HQL 질의입니다 Riya 귀하의 참조는 나를 위해 유용합니다. –