【发布时间】:2015-02-05 11:17:40
【问题描述】:
menu menu_autorization authorization
---------- ----------------------- -----------------------
|id|title| |id|menu|authorization| |id|authorization|info|
---------- ----------------------- -----------------------
| | | |
|---------------------| |----------------|
我用 Hibernate 映射了这个数据库;当我从数据库中获取 Menu 对象时,我还正确地获取了 menu_autorization 和 authorization 对象。
对于每个 Menu 对象,我有许多 menu_autorization 对象。
到目前为止,我编写的查询使我获得了数据库中的所有菜单对象;我想做的是编写一个查询,让我获得一个具有特定 menu_autorization 的 menu 对象。
我该怎么做,因为我在 menu 表中没有 authorization 字段? 也许我可以使用 Criteria 来做到这一点,但我不知道如何。
我在 Menu.class 中有这个映射
...
@OneToMany(mappedBy="menu", fetch=FetchType.EAGER)
private Set<MenuAuthorization> menuAuthorization;
...
MenuAuthorization.class 中的这个映射
...
@ManyToOne(targetEntity=Menu.class)
@JoinColumn(name="menu",referencedColumnName="id")
private Menu menu;
@ManyToOne(targetEntity=Authorizazion.class)
@JoinColumn(name="authorizazion",referencedColumnName="id")
private Authorizazion authorizazion;
....
这在 Authorization.class 中
...
@OneToMany(mappedBy="Authorization", fetch=FetchType.EAGER)
private Set<MenuAuthorization> MenuAuthorization;
...
【问题讨论】:
-
Java 中
menu和menu_autorization之间的关系是如何创建的?向我们展示您的 JPA 实体类的相关部分。
标签: java hibernate hibernate-mapping hibernate-criteria