我有一个User
类,它有自己的表,还有一个Organizer
类,它也有自己的表,是User
的特殊化。
public class OrganizadorService {
private final OrganizadorRepository organizerRepository;
private final UsuarioRepository userRepository;
@Autowired
private EntityManager entityManager;
public OrganizadorService(OrganizadorRepository organizerRepository, UsuarioRepository userRepository) {
this.organizerRepository = organizerRepository;
this.userRepository = userRepository;
}
@Transactional
public boolean transformToOrganizer(long id) {
try {
organizerRepository.transformToOrganizer(id);
//entityManager.getEntityManagerFactory().getCache().evictAll();
entityManager.flush();
} catch (Exception e) {
return false;
}
return true;
}
}
个字符
2条答案
按热度按时间h9vpoimq1#
我会改变模型。因为看起来
User
可能会变成Organizer
,继承不是解决这个问题的正确工具。相反,让User
有一个可选的OrganizerRole
。ig9co6j12#
下面是我希望我的组织者服务中的transformToOrganizer看起来像什么。
i)通过用户ID从用户表中获取用户实体。
UserEntity user = userRepository.findById(id);
ii)我们有了用户实体,现在我假设用户到组织者的关系是@OneToOne,用户ID是组织者表中的主键。我们创建一个新的组织者实体,并设置必要的细节沿着,我们设置organizer.setUser(user)。
请在这里发布您的实体定义以获得更多清晰度。