假设以下示例性 DB 设计:
USERS
-----------------
ID
NAME
ROLES
-----------------
ID
NAME
USERS_ROLES
-----------------
FK_USER_ID
FK_ROLE_ID
LOGIN
PASSWD
我使用 xml 将这种关系与 eclipse-link 映射。用户:
<many-to-many name="roles" mapped-by="users">
<join-table name="USERS_ROLES">
<join-column name="USER_ID" />
<inverse-join-column name="ROLE_ID" />
</join-table>
</many-to-many>
为了完整起见,角色的对应映射:
<many-to-many name="users" mapped-by="roles">
<join-table name="USERS_ROLES">
<join-column name="FK_ROLE_ID" />
<inverse-join-column name="FK_USER_ID" />
</join-table>
</many-to-many>
现在我还可以为链接表创建一个映射,但是我必须做什么才能访问链接表的属性(映射到 java 对象/类)?如果用户登录,选择他们感兴趣的角色并输入一致的密码,我需要它。当然,使用当前设置,我可以获得用户分配的所有角色,反之亦然,但我无法与登录数据或任何其他与用户和角色的关系相对应的属性进行比较。简而言之:我不知道如何访问链接表的属性,也不知道如何在 mapping-xml 中映射它。
提前很多!