Bom tarde estou pegando um json de uma URL e efetuando a persistência no banco de dados.
Todos os dados estão sendo gravados normalmente no banco de dados com exceção do principal_id na classe Secundária que deveria ser preenchido com o id da classe Principal.
Estou utilizando o Gson para manipular os dados da URL, segue abaixo um exemplo do código que estou utilizando.
Se alguém puder me ajudar ja estou a um tempinho tentando fazer isso
Obrigado.
public class Principal implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String tipo;
@OneToMany(mappedBy = "principal", targetEntity = Secundaria.class, fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE, CascadeType.REFRESH}, orphanRemoval = true)
@Fetch(value = FetchMode.JOIN)
private List<Secundaria> dados;
}
public class Secundaria implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String nome;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "principal_id")
private Principal principal;
}
public static void main(String[] args) {
URL url = new URL("URL");
CookieHandler.setDefault(new CookieManager(null, CookiePolicy.ACCEPT_ALL));
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
BufferedReader json = new BufferedReader(new InputStreamReader(connection.getInputStream()));
Principal dados = new Gson().fromJson(json, Principal.class);
}