我有一个名为autonomo的对象,它有一个合格建议列表(propostatselegiveis),它只显示与autonomo具有相同类别/分类名称的建议,例如,如果他是园丁,则只有属于园丁类别的建议才会添加到该自治列表中。每次创建提案/提案时,它都会试图通知拥有此类/类别的自治机构
这里的问题是,虽然autonomo类中的列表实际上已更新,但在我的存储库中它不会更新!
自主类
public class Autonomo extends Perfil {
@OneToMany(mappedBy = "categoria")
List<Proposta> propostasElegiveis = new ArrayList<Proposta>();
@Transactional
public void adicionaProposta(Proposta proposta){
propostasElegiveis.add(proposta);
}
建议类
@Entity
@Table(name = "proposta")
public class Proposta{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@OneToOne
@JoinColumn(name = "categoria_id",insertable = true, updatable = false)
private Categoria categoria;
提案服务
@Service
public class PropostaService {
@Autowired
private PropostaRepository propostaRepository;
@Autowired
private PerfisRepository perfisRepository;
@Transactional
public ResponseEntity cadastrarProposta(Proposta novaProposta){
perfisRepository.saveAll(notificaElegiveis(novaProposta.getCategoria(), novaProposta));
perfisRepository.flush();
propostaRepository.save(novaProposta);
return ResponseEntity.ok().build();
}
private List<Autonomo> notificaElegiveis(Categoria categoria, Proposta proposta){
List<Autonomo> autonomos = new ArrayList<>();
for (Perfil autonomo : perfisRepository.findAllByCategoriaAutonomo(categoria.getNome())){
autonomos.add((Autonomo) autonomo);
}
for (Autonomo autonomo: autonomos) {
autonomo.adicionaProposta(proposta);
perfisRepository.save(autonomo);
}
return autonomos;
}
perfil存储库(autonomo是perfil的一个子类)
public interface PerfisRepository extends JpaRepository<Perfil, Integer> {
@Query(value = "SELECT * FROM usuario as a, categoria as c WHERE a.tipo_Perfil = 'autonomo' AND a.ID_CATEGORIA = C.ID AND c.nome like ?1 ", nativeQuery = true)
List<Perfil> findAllByCategoriaAutonomo(String nomeCategoria);
}
暂无答案!
目前还没有任何答案,快来回答吧!