Seguinte Galera,
Tenho duas entidades Administrator e Address, administrator tem um lista de address e address tem um administrator
Segue mapeamento de Administrator:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty(notes = "The database generated administrator ID")
val administrator_id: Long = 0L,
@ApiModelProperty(notes = "The administrator name", required = true)
val name: String = "",
@ApiModelProperty(notes = "The administrator phone number")
val phone: String = "",
@OneToMany(mappedBy = "administrator", cascade = [CascadeType.ALL], fetch = FetchType.EAGER)
@ApiModelProperty(notes = "The administrator address")
var address: List<Address> = emptyList(),
@ApiModelProperty(notes = "The administrator username", required = true)
val login: String = "",
@ApiModelProperty(notes = "The administrator password", required = true)
val password: String = ""
Segue mapeamento de Address:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@ApiModelProperty(notes = "The database generated address ID")
val id: Long = 0L,
@ApiModelProperty(notes = "The name of the street")
val street: String = "",
@ApiModelProperty(notes = "The name of the neighborhood")
val neighborhood: String = "",
@ApiModelProperty(notes = "The name of the state")
val state: String = "",
@ApiModelProperty(notes = "The name of the city")
val city: String = "",
@ApiModelProperty(notes = "The number of the CEP")
val cep: String = "",
@ApiModelProperty(notes = "The address complement", required = true)
val complement: String = "",
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="administrator", insertable=true, updatable=true)
@ApiModelProperty(notes = "The address complement", required = true)
var administrator: Administrator? = null
O mapeamento gera as tabelas no banco, tudo certo porém quando faço a requisição para meu endpoint ele salva a entidade Administrator e Address, porém o campo de relação não é salvo. Segue requisição
{
“address”: [
{
“cep”: “00000-000”,
“city”: “Cidade”,
“complement”: “Complemento”,
“neighborhood”: “Bairro”,
“state”: “Estado”,
“street”: “Rua”
}
],
“login”: “nomedousuario”,
“name”: “nome”,
“password”: “senha”,
“phone”: “telefone”
}
Acredito que alguma coisa no mapeamento quando colocar pra salvar a entidade Administrator deva salvar tbm o endereço com o id do administrator, mas não estou conseguindo
OBS: O código está em Kotlin podem achar estranho algo na declaração das variaveis, porém a maior duvida é como salvar as duas entidades e na entidade Address ir a chave primaria da tabela Administrator