Olá, estou tendo dificuldades para persistir um Array de id's para o meu banco de dados, a logica que eu segui foi, na hora de fazer uma requisição do tipo POST eu mando no corpo um array com os id's das entidades que quero vincular.
Essa seria a entidade principal:
@Entity
public class Os {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "OS_ID") private Long id;
private String osNumber;
// Composições
@OneToMany private List<Document> documents;
}
E essa seria a que eu quero vincular:
@Entity
public class Document {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Enumerated(EnumType.STRING) private DocumentType docType;
}
E usei a logica que esta no método update() para tentar atualizar:
public class OsUpdate {
// Atributos a serem atualizados:
private String osNumber;
private List<Long> documentsId = new ArrayList<>();
// Método para atualizar uma OS:
public Os update(Long id, OsRepository osRepository, DocumentRepository documentRepository) {
// Procura uma OS no banco de dados pelo seu id:
Os os = osRepository.getOne(id);
// Atualiza as informações vindas do banco de dados com as informações vindas do 'OsUpdate':
os.setOsNumber(this.osNumber);
List<Document> documentList = new ArrayList<>();
// Itera a lista de id's, procura os documentos no banco, e adiciona a lista de documentos da OS
for (int i = documentsId.size(); i <= 0; i--) {
Document document = documentRepository.getOne(documentsId.get(i));
documentList.add(document);
}
os.setDocuments(documentList);
return os;
}
Qual seria um solução alternativa?