小编web*_*pat的帖子

在spring服务层使用继承是最佳实践吗?

我有两个名为PowerUserManager和 的服务 bean SimpleUserManager。两个带@Service注释的类都有大约20% 的代码是共同的

我已经构建了一个带有公共抽象类 ( BaseUserManager)的继承树,以减少两个类之间的冗余。

                               BaseUserManager
                                      |
                               ---------------
                               |             |
                       PowerUserManager  SimpleUserManager
Run Code Online (Sandbox Code Playgroud)

然后在我的@Controller或任何客户端类中,我使用@Autowired注释来注入两者PowerUserManagerSimpleUserManager并根据我正在处理的用户实例使用其中之一。

我不习惯使用继承来分解代码,尤其是在服务层。你们 Spring 伙伴们有没有看到更好的方法来做到这一点?

java spring design-patterns

5
推荐指数
1
解决办法
2975
查看次数

实体框架 6.0 一对多关系不起作用

我尝试使用实体框架与代码优先和流畅的API来实现一对多关系

一方面,我有ClassDefinitionEntity类:

 public class ClassDefinitionEntity{   

    public string LocalClassIsin { get; set; }
    public  ICollection<PcfPublishingDefinitionEntity> PublishingDefinitions { get;  set; }

    public ClassDefinitionEntity()
    {
        PublishingDefinitions = new List<PcfPublishingDefinitionEntity>();
    }
}
Run Code Online (Sandbox Code Playgroud)

在许多方面,PcfPublishingDefinitionEntity类:

public class PcfPublishingDefinitionEntity
{
    public int ClassId { get; set; }
    public ClassDefinitionEntity ClassDefinition { get; set;}
    public PcfFormatEnum Format { get; set; }
    public PcfPublishingChannelEnum Channel { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的列名称不遵循实体约定,因此OnModelCreating中的代码如下所示:

protected override void OnModelCreating(DbModelBuilder modelBuilder){
...
        modelBuilder.Entity<PcfPublishingDefinitionEntity()
           .ToTable("IFM_PCF_PUBLISHING_DEFINITION");
        modelBuilder.Entity<PcfPublishingDefinitionEntity>()
           .HasKey(e => new …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework ef-code-first

1
推荐指数
1
解决办法
4039
查看次数