[RESOLVIDO] Como persistir Id de cidade na tabela endereço

7 respostas
tmvolpato

Bom dia,

Estou com problema ao persistir o ID da cidade na tabela endereço

Tenho 2 combos Estado e Cidade o combo da cidade carrega as cidades conforme o id do estado(Até ai tudo bem)
essas duas tabelas já estão preenchidas no banco.

quero salvar o id da cidade em Endereço com isso eu consigo recuperar o id do estado tbm

mas eu não estou conseguindo pegar o ID da cidade e persistir na tabela Endereço

Segue abaixo como está meu relacionamento

Classe Estado (Relacionamento com a classe Cidade)

@OneToMany(mappedBy="state",fetch=FetchType.LAZY,cascade=CascadeType.ALL)
private List<City> cities = new ArrayList<City>();

Classe Cidade (Relacionamento com a classe Estado e Endereço)

@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="ID_CITY_STATE")
private State state;
	
@OneToMany(mappedBy="city", cascade=CascadeType.ALL)
private List<Address> address;

classe Endereço

@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="CITY_ID" )
private City city ;

7 Respostas

drsmachado

1 - A dúvida é sobre como persistir ou sobre como obter o id da cidade?
Se é sobre como obter o id de cidade, falta alguma coisa fundamental aí, não falta?
Se for sobre persistir, o tópico deveria ser aberto no fórum de persistência…

tmvolpato

Persistir o id de cidade na tabela endereço

drsmachado:
1 - A dúvida é sobre como persistir ou sobre como obter o id da cidade?
Se é sobre como obter o id de cidade, falta alguma coisa fundamental aí, não falta?
Se for sobre persistir, o tópico deveria ser aberto no fórum de persistência…

drsmachado

Ok, de onde vem o id do objeto cidade?

tmvolpato

@Machado

falta o que para obter o id de cidade?

tmvolpato

A classe cidade tem sua classe separada

com o seu ID, ela esta preenchida no banco com todas as cidades referente a seus estados

agora eu preciso pegar esse ID de cidade conforme a cidade que o usuário selecionou e salvar na tabela endereço

tmvolpato

erro do log:

javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: br.com.test.entity.City

xhtml como està

<p:selectOneMenu id="cityName" label="#{msg.label_city}" value="#{employeeFace.city.id}" disabled="#{employeeFace.checkStateActive}"> <f:selectItem itemValue="#{null}" itemLabel="#{msg.select_initialState}" /> <f:selectItems value="#{employeeFace.cities}" /> </p:selectOneMenu>

ManagedBean(estava tentando desse jeito)

this.city.getId(); this.address.setCity(city); this.address.setPerson(getSelectBean()); addressService.save(address);

tmvolpato

meu mapeamento estava errado na parte do cascade
e eu não preciso de nada disso la no bean

flw

Criado 27 de junho de 2012
Ultima resposta 27 de jun. de 2012
Respostas 7
Participantes 2