【发布时间】:2017-01-19 11:40:22
【问题描述】:
我一直在使用多对多映射,这里是我的 POJO 类。
菜单.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(){
}
用户.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() {
}
我有自动创建的用户、菜单和第三个映射表user_menu,我在mysql中触发以下查询时成功得到结果
select * from menu m inner join user_menu um on m.menuid = um.menuid where um.userid = 41;
我想在hibernate中写这个查询怎么弄这个东西???
【问题讨论】:
-
感谢 Riya,您的参考对我很有用。