@Entity @Table(name="u_module") public class Module { @Id @GeneratedValue(strategy=GenerationType.AUTO) private int id; /** * 模块名称 */ private String name; /** * 显示位置 ,默认按照从小到大的顺序排列 */ private int location; /** * 菜单的url */ private String url; /** * 添加时间 */ @Temporal(TemporalType.TIMESTAMP) private Date createTime = new Date(); /** * 父节点 */ @ManyToOne private Module parent; /** * 子节点 */ @OneToMany(mappedBy="parent",fetch=FetchType.EAGER) @OrderBy("location,id asc") private Collection<Module> children = new ArrayList<Module>();
mappedBy的作用是指:
其所注解的字段 children 的关系被 mappedBy所指的字段 parent 维护
即: 由 “一”的一端维护;“多”的一端被维护 ......
parent : 一
children : 多