【问题标题】:Simple logic in Spring Entity getter?Spring Entity getter中的简单逻辑?
【发布时间】:2017-08-17 15:35:27
【问题描述】:

我有一个User 实体,它与UserSkill 实体具有一对多的关系。 UserSkill 可以是 activeinactive(inactive 是在技能删除时设置的,而不是完全删除)。问题是,大多数时候主动技能对最终用户很重要(非主动技能稍后可能用于统计目的)。考虑到这一点,当我从数据库中查询 User 实体时,大部分时间我只想通过它访问活动技能

我的问题是,哪个实现更好:

  1. 我有getUserSkills(简单的吸气剂)和getActiveUserSkills(吸气剂 在User 实体上进行一些过滤),并使用getActiveUserSkills 大多数时候。 (似乎每个人都在说 POJO 应该是 POJO,没有额外的逻辑。)
  2. 我有userSkillService,我有 getActiveUserSkills(User user) 方法,仅返回活动状态 用户技能。然后,我会在需要时将这些主动技能与User 一起使用。这里的问题是每次 我得到User,我将拥有那些不必要的不​​活跃技能。

也欢迎其他实施建议。谢谢!

【问题讨论】:

    标签: java spring design-patterns entity pojo


    【解决方案1】:

    当然第一个解决方案更好。当实体可以简单地提供信息而不需要任何额外的依赖时,就没有理由使用服务。

    如果您需要访问存储库或其他服务以确定哪些技能处于活动状态(因为您通常不希望实体层依赖于服务和存储库),则使用外部服务会很有用。因此,如果加载所有技能导致性能或内存问题,并且您希望执行查询以仅获取众多技能中的少数活动技能,我会说使用服务或存储库方式。但这里似乎不是这样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      • 2018-04-10
      • 2012-02-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多