【发布时间】:2012-09-09 11:17:42
【问题描述】:
我目前正在开发一个 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 或Male 类型的对象?
更一般地说,在 Spring 控制器和 Spring 服务级别处理实体继承的最佳实践是什么?
【问题讨论】:
标签: inheritance jpa spring-roo spring-data-jpa