Spring 实体 getter 中的简单逻辑?
Simple logic in Spring Entity getter?
我有一个 User
实体,它与 UserSkill
实体具有一对多关系。 UserSkill
可以是active和inactive(inactive是在技能删除时设置的,而不是完全删除)。问题是,大多数时候主动技能对最终用户很重要(不活动可能稍后用于统计目的)。考虑到这一点,当我从数据库中查询 User
实体时, 大多数时候我只想通过它访问 active 技能 .
我的问题是,哪个实现更好:
- 我有
getUserSkills
(简单 getter)和 getActiveUserSkills
(getter
在 User
实体上进行一些过滤),然后使用 getActiveUserSkills
大多数时候。 (大家好像一直在说POJO就应该是POJO,没有多余的逻辑。)
- 我有
userSkillService
,而且我有
getActiveUserSkills(User user)
方法,其中 returns 仅激活
用户技能。然后,我会在需要时将这些主动技能与 User
一起使用。这里的问题是每次
我得到了User
,我将拥有那些不必要的非主动技能。
也欢迎提出其他实施建议。谢谢!
当然第一种方案更好。当实体可以简单地提供信息而不需要任何额外的依赖时,就没有理由使用服务。
如果您需要访问存储库或其他服务以确定哪些技能处于活动状态,则使用外部服务会很有用(因为您通常不希望您的实体层依赖于服务和存储库)。因此,如果加载所有技能导致性能或内存问题,我会说使用服务或存储库方式,而您只想执行查询以仅获取众多技能中的少数活动技能。但这里似乎不是这样。
我有一个 User
实体,它与 UserSkill
实体具有一对多关系。 UserSkill
可以是active和inactive(inactive是在技能删除时设置的,而不是完全删除)。问题是,大多数时候主动技能对最终用户很重要(不活动可能稍后用于统计目的)。考虑到这一点,当我从数据库中查询 User
实体时, 大多数时候我只想通过它访问 active 技能 .
我的问题是,哪个实现更好:
- 我有
getUserSkills
(简单 getter)和getActiveUserSkills
(getter 在User
实体上进行一些过滤),然后使用getActiveUserSkills
大多数时候。 (大家好像一直在说POJO就应该是POJO,没有多余的逻辑。) - 我有
userSkillService
,而且我有getActiveUserSkills(User user)
方法,其中 returns 仅激活 用户技能。然后,我会在需要时将这些主动技能与User
一起使用。这里的问题是每次 我得到了User
,我将拥有那些不必要的非主动技能。
也欢迎提出其他实施建议。谢谢!
当然第一种方案更好。当实体可以简单地提供信息而不需要任何额外的依赖时,就没有理由使用服务。
如果您需要访问存储库或其他服务以确定哪些技能处于活动状态,则使用外部服务会很有用(因为您通常不希望您的实体层依赖于服务和存储库)。因此,如果加载所有技能导致性能或内存问题,我会说使用服务或存储库方式,而您只想执行查询以仅获取众多技能中的少数活动技能。但这里似乎不是这样。