Hibernate 在MappedSuperClass内自动关联存储库

Hibernate 在MappedSuperClass内自动关联存储库,hibernate,spring-boot,spring-data-jpa,domain-driven-design,Hibernate,Spring Boot,Spring Data Jpa,Domain Driven Design,我无法@Autowire在@MappedSuperClass @MappedSuperClass public class HomeAddressType { private AddressTypeRespository addressTypeRepository; @Embedded protected AddressTypeId addressTypeId; @Autowired AddressTypeRespository(AddressTypeRespository ad

我无法
@Autowire
@MappedSuperClass

@MappedSuperClass
public class HomeAddressType {

 private AddressTypeRespository addressTypeRepository;

 @Embedded
 protected AddressTypeId addressTypeId;

 @Autowired
 AddressTypeRespository(AddressTypeRespository addressTypeRespository) {
   this.addressTypeRepository=addressTypeRepository;
   this.addressTypeId = new AddressTypeId(this.addressTypeRepository.getAddressTypeByCode().getId);
 }   

}
因此,我可以将其隐藏在我的域模型对象
homemaddress
中,因为我使用的是hibernate注释,
homemaddress
实际上是一个
AddressTypeId(FK)
AddressType
表的
地址

因此,当我的
聚合工厂
构建
家庭地址
时,默认情况下它有一个隐藏的
地址类型
。所以我可以对域模型消费者隐藏这一点

class HomeAddress extends HomeAddressType{
      @Embedded
      AddressId addressId;
      ......
}

如何实现这一点?

您不能在
MappedSuperClass
中自动关联bean,因为它不是由spring管理的


我建议的一种解决方法是在启动时初始化的托管bean中(例如在构造函数中)有一个类型为
AddressTypeRespository
的静态字段,然后,您可以从您的
HomeAddressType

访问此字段。您可以更具体地满足需要吗?您不能自动连线,因为@MappedSuperClass(Jpa实体)不是Spring bean。我不能提出正确的方法,因为我对这个问题完全不清楚。