我目前正在开发一个 Spring Roo/JPA 应用程序,最近我切换到基于 JPA 继承的域模型。总结一下我的域模型,我有一个抽象Member
实体,它由两个实体子类化:Male
和Female
.
在我所有的 Spring MVC 控制器中,我希望避免总是注入两个服务依赖项(一个处理Male
实体,另一个处理Female
实体)。我宁愿拥有一项MemberService
服务(连同相应的MemberRepository
),它会返回一个Male
实例或一个Female
实例。
以上是否可以使用 Spring Roo 注释,例如:
@RooService(domainTypes = { Member.class })
或者那个:@RooJpaRepository(domainType = Member.class)
?
例如,这会Member findByEmail(String email);
返回一个我可以转换为Female
orMale
类型的对象吗?
更一般地说,在 Spring 控制器和 Spring 服务级别处理实体继承的最佳实践是什么?