我无法@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);
}
}
因此我可以将其隐藏在域模型对象HomeAddress
中,因为我正在使用休眠注释,而HomeAddress
实际上是一个Address
,其中AddressTypeId(FK)
到{{1} }表
因此,当我的AddressType
构建Aggregate Factory
时,默认情况下它具有隐藏的HomeAddress
。这样我就可以对域模型使用者隐藏它。
AddressType
我该如何实现?
答案 0 :(得分:1)
您无法自动为MappedSuperClass
中的bean装配导线,因为它不是由spring管理的。
我建议的一种解决方法是在启动时初始化的一个托管bean中有一个AddressTypeRespository
类型的静态字段(例如在构造函数中),然后可以从{ {1}}