2012-06-06 90 views
1

我有一个用户和一个特权级别。用户可以拥有许多权限。到现在为止还挺好。我可以使ORM一对多关系成为显式类吗?

我有一些类似于用户类的这些关系。但我不想让所有这些东西混淆用户。

所以我认为这是一个好主意,明确用户和特权之间的关系。 我想获得一个类UserPrivilges与用户的一对一关系和一对多权限关系。

如果可能,很高兴得到一些反馈。

THX 每

回答

1

如果我理解正确的,你只是想一个单独的类中组几个一对多协会,有这个类中的用户的一个实例。但在语义上,这些关联是用户和其他实体之间的关联。

如果是的话,你应该让你的数据库scheam原样,并且只需使用嵌入对象内的用户到组的相关项目:

@Embeddable 
public class UserPrivileges 
    @OneToMany 
    private Set<Privilege> somePrivileges; 

    @OneToMany 
    private Set<Privilege> someOtherPrivileges; 

    @OneToMany 
    private Set<Privilege> yetOtherPrivileges; 
} 

@Entity 
public class User { 

    @Embedded 
    private UserPrivileges privileges; 
} 

详情请参阅the documentation

相关问题