[RESOLVIDO] Problema JSP para alterar tabela dependente FILHA com relacionamento Hibernate

Alguem pode dar um exemplo ou analisar meu código para dizer como posso alterar dados da tabela filho(entidade dependente)???
fuçando consegui fazer alterar a tabela filho(ou entidade dependente), porém esse troço perde a referencia do PAI =S…

detalhe importante: Ja criei a classe planoSaudeController e fiz uma jsp para atualizar essa outra entidade… funcionou porém ele perdeu o PK(cliente_id) …
To perdido!!! empaquei…

vejam o JSP

[code]<form action="<c:url value="/clientes/${cliente.id }"/>" method="POST"
id=“clientesForm”>

Editar Cliente

		<!-- dataCriacao -->
		<label for="dataCriacao">Data de criação do registro:</label> <input
			readonly="readonly" id="dataCriacao" type="text"
			name="cliente.dataCriacao" maxlength="10"
			onkeypress="return dateMask(this, event);"
			value='<fmt:formatDate  value="${cliente.dataCriacao }"/>' />


<c:forEach items="${cliente.planoSaude }" var=“pS” >



Plano de Saude:


Tipo Plano:


Valor Plano:


		</c:forEach>

		<!-- Botão ENVIAR -->
		<br>
		<button type="submit" name="_method" value="PUT">Enviar</button>
	</fieldset>
</form>

[/code]

este é minha classe de Cliente:

@Entity
@Resource
public class Cliente {

	@Id
	@GeneratedValue
	private Long id;
	@Length(max = 50)
	@PrimaryKeyJoinColumn
	private String titular;
...
        @OneToMany(mappedBy = "cliente", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
	private List<Telefone> telefone;
	@OneToMany(mappedBy = "cliente", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	private List<PlanoSaude> planoSaude;
	@OneToMany(mappedBy = "cliente", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	private List<DependenteCliente> dependente;
	@OneToMany(mappedBy = "cliente", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	private List<Historico> historico;

e enfim minha classe planoSaude (classe filha)

@Entity
@Resource
public class PlanoSaude {

	@Id
	@GeneratedValue
	private Long id;
	@Length(max = 40)
	private String planoSaude;
	@Length(max = 20)
	private String tipoPlano;
	@Min(value = 0)
	private Double valorPlano;

	@ManyToOne
	@JoinColumn(name = "cliente_id")
	private Cliente cliente;

as outras nem preciso colocar…

vou colocar meu ClienteController tbem…

	@Restrito
	@Put("/clientes/{cliente.id}")
	public void altera(Cliente cliente) {
		validator.validate(cliente);
		validator.onErrorUsePageOf(this).edita(cliente.getId());
		dao.atualiza(cliente);
		result.redirectTo(this).lista();
	}

e por fim minha tentativa frustrada de atualizar a tabela… detalhe, com essa opção debaixo, planoSaude esta NULL =S

@Restrito @Put("/clientes/{cliente.id}") public void altera(Cliente cliente) { validator.validate(cliente); validator.onErrorUsePageOf(this).edita(cliente.getId()); if (cliente.getPlanoSaude() != null) { for (PlanoSaude planoSaude : cliente.getPlanoSaude()) { validator.validate(planoSaude); validator.onErrorUsePageOf(this).edita(cliente.getId()); } for (PlanoSaude planoSaude : cliente.getPlanoSaude()) { dao.atualiza(planoSaude); } } dao.atualiza(cliente); result.redirectTo(this).lista(); }

tecnologias usadas:
Eclipse - Hibernate - Vraptor - JSP - MySql -JQuery - TOMCAT

Agradeço dicas e ajudas!!!

vlw

segue método de atualização no meu DAO

public void atualiza(Cliente cliente) { Transaction tx = session.beginTransaction(); this.session.update(cliente); tx.commit(); }

Ué, Plano de Saúde está null? Aí acho que o problema já está em outro lugar.

Você tem que ver como enviar esse valor no request para o seu método, no framework que estiver utilizando

[quote=Rodrigo Sasaki]Ué, Plano de Saúde está null? Aí acho que o problema já está em outro lugar.

Você tem que ver como enviar esse valor no request para o seu método, no framework que estiver utilizando[/quote]

Sim… está null!!! =S … a listagem dos dados no JSP sai na boa, conforme o código que postei…
Aí eu altero a informação, pressiono enter e na chamada do método vejo que a classe principal ta preenchida, mas a dependente não =S… cruel…

[quote=andersonjm][quote=Rodrigo Sasaki]Ué, Plano de Saúde está null? Aí acho que o problema já está em outro lugar.

Você tem que ver como enviar esse valor no request para o seu método, no framework que estiver utilizando[/quote]

Sim… está null!!! =S … a listagem dos dados no JSP sai na boa, conforme o código que postei…
Aí eu altero a informação, pressiono enter e na chamada do método vejo que a classe principal ta preenchida, mas a dependente não =S… cruel…
[/quote]
Realmente, então seu problema não chegou no Hibernate ainda… você tem que se entender com esse seu framework.

Pelos códigos eu não consegui identificar qual é, portanto não vou poder te ajudar muito.

[quote]
Realmente, então seu problema não chegou no Hibernate ainda… você tem que se entender com esse seu framework.

Pelos códigos eu não consegui identificar qual é, portanto não vou poder te ajudar muito.[/quote]

Eclipse - Hibernate - Vraptor - JSP - MySql -JQuery

[quote=Rodrigo Sasaki]
Realmente, então seu problema não chegou no Hibernate ainda… você tem que se entender com esse seu framework.

Pelos códigos eu não consegui identificar qual é, portanto não vou poder te ajudar muito.[/quote]

Respondi qual o Framework é??? ajuda aew, primeiro projetinho java que faço!! patinei muito até chegar aqui, até fui bem, mas agora empaquei… :!:

Sera que devo anotar as classes com mais alguma coisa???
Se eu precisar enviar a dependencia como parametro, como faço isso com o JSP???
Fui muito longe pra empacar aqui :shock:

[quote=andersonjm][quote=Rodrigo Sasaki]
Realmente, então seu problema não chegou no Hibernate ainda… você tem que se entender com esse seu framework.

Pelos códigos eu não consegui identificar qual é, portanto não vou poder te ajudar muito.[/quote]

Respondi qual o Framework é??? ajuda aew, primeiro projetinho java que faço!! patinei muito até chegar aqui, até fui bem, mas agora empaquei… :!:

Sera que devo anotar as classes com mais alguma coisa???
Se eu precisar enviar a dependencia como parametro, como faço isso com o JSP???
Fui muito longe pra empacar aqui :shock: [/quote]

Consegui resolver… o Hibernate cria o campo de ligação(campo_id) na tabela só de anotarmos com @JoinColum … . mas não basta fazer isso, tem que literalmente definir o campo tbem na entidade dependente (no caso o campo_id) com seus respectivos getters e setters…
Fazendo isso, magicamente o campo deixa de ser null…

pra alguem isso poderia ser facilmente identificado… mas pra mim, até tive pesadelo pra encontrar essa birosca…

vlw…