[RESOLVIDO] Struts + Hibernate

Estou com uns problemas ao popular a classe Form com struts.
Antes de usar Hibernate, nas propriedades da classe que representavam as FKs era só definir o valor, mas agora com o Hibernate elas são instancias de outras classes… Como defino o valor correto através do struts agora???

Classe ProdutoForm

[code]package br.com.practical.apresentacao;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name=“produto”)
public class ProdutoForm {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
int cd_produto;

@ManyToOne
GrupoForm grupo;

String ds_produto;
double preco;

public GrupoForm getGrupo() {
	return grupo;
}
public void setGrupo(GrupoForm grupo) {
	this.grupo = grupo;
}
public int getCd_produto() {
	return cd_produto;
}
public void setCd_produto(int cdProduto) {
	cd_produto = cdProduto;
}

public String getDs_produto() {
	return ds_produto;
}
public void setDs_produto(String dsProduto) {
	ds_produto = dsProduto;
}
public double getPreco() {
	return preco;
}
public void setPreco(double preco) {
	this.preco = preco;
}

}
[/code]

Classe GrupoForm

[code]package br.com.practical.apresentacao;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

import br.com.practical.negocio.Grupo;

@Entity
@Table(name=“grupo”)
public class GrupoForm {
@Id
@GeneratedValue (strategy = GenerationType.AUTO)
int idgrupo;

String ds_grupo;

public int getIdgrupo() {
	return idgrupo;
}
public void setIdgrupo(int idgrupo) {
	this.idgrupo = idgrupo;
}

public String getDs_grupo() {
	return ds_grupo;
}
public void setDs_grupo(String dsGrupo) {
	ds_grupo = dsGrupo;
}

[/code]

Página de cadastro Struts

[code]<%@ taglib uri="/WEB-INF/struts-html.tld" prefix=“html” %>

Insert title here
Produto
Preço
Grupo
[/code] Não sei o que colocar no lugar das "????" cheguei a colocar grupo.idgrupo mas também não funcionou =/

Ou se eu puder acrescentar mais uma propriedade no ProdutoForm e o Hibernate ignorar essa propriedade…

Olá Calel, na classe ProdutoForm em cima do atributo GrupoForm coloca a anotação @JoinColumn(name = “nome_daColuna”), assim:

//imports...

@Entity
@Table(name="produto")
public class ProdutoForm{

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
int cd_produto; 

@ManyToOne 
@JoinColumn(name = "nome_daColuna")
GrupoForm grupo;

//Continuação da classe...

Valew Rlaf, agora tá funcionando. :smiley:
Fiz o que você falou e acrescentei o seguinte na minha classe mais um método pra funcionar, pq só acrescentando o annotation JoinColumn, o Struts continuava reclamando que não havia um get e set para aquela propriedade.

[code]//imports…

@Entity
@Table(name=“produto”)
public class ProdutoForm{

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
int cd_produto;

@ManyToOne
@JoinColumn(name = “grupo_id”)
GrupoForm grupo;

public int getGrupo _id(){
return grupo.getIdgrupo();
}

public void setGrupo_id(int grupo_id){
grupo = new GrupoForm();
grupo.setIdgrupo(grupo_id);
}
//Continuação da classe…
[/code]

e na jsp:

[code]<%@ taglib uri="/WEB-INF/struts-html.tld" prefix=“html” %>

Insert title here
Produto
Preço
Grupo
[/code]

Qualquer dúvida estou a disposição :wink: