我目前正在开发Spring Roo/JPA应用程序,并且最近我根据JPA继承切换到域模型。总结我的领域模型,我有一个抽象Member
实体,该实体被两个实体分类:Male
和Female
。我想避免总是注入两个服务依赖关系(一个处理Male
实体,另一个处理Female
实体)。在所有我的Spring MVC控制器中,我希望避免始终注入两个服务依赖关系(一个处理Male
实体,另一个处理Female
实体)。我宁愿(具有相应的MemberRepository
在一起)有一个MemberService
服务,将返回一个Male
实例或Female
实例。JPA继承,Spring Roo和Spring Data的设计问题JPA
是上述可能使用Spring Roo的注释,比如这一个:
@RooService(domainTypes = { Member.class })
还是那一个:@RooJpaRepository(domainType = Member.class)
?
例如,将这个Member findByEmail(String email);
返回一个对象,我可以投要么在Female
或Male
类型?
更普遍,什么是在春天的控制器和Spring服务水平,以应对实体产业的最佳实践?
感谢卡洛斯。这个解决方案的麻烦是我需要两个服务(男性和女性)在每个处理男性和女性实例的控制器中。此外,我的控制器代码变得丑陋的条件逻辑,以检查我是否需要使用一个或另一个服务... – balteo
我怀疑女性和男性在你的业务中有类似的责任,因为你想在同一个控制器中使用两个,我认为你的解决方案是写一个类的性别属性的成员... –
我想过,但后来我使用继承的功能... – balteo