Tenho as classes:
Cliente
public class Cliente {
......
@ManyToMany
@JoinTable(name = "cliente_produto",
joinColumns = { @JoinColumn(name = "cod_cliente")},
inverseJoinColumns={@JoinColumn(name="cod_produto")}
)
private List<Produto> produtos;
}
Produto
public class Produto {
.....
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "cliente_produto",
joinColumns = { @JoinColumn(name = "cod_produto")},
inverseJoinColumns={@JoinColumn(name="cod_cliente")}
)
private List<Cliente> clientes;
......
ProdutoDAO
public class ProdutoDAO {
public Produto listarPorCodigo(Integer codigo) {
session = HibernateUtil.getSessionFactory().openSession();
try {
session.beginTransaction();
Criteria criteria = session.createCriteria(Produto.class);
criteria.add(Restrictions.eq("codigo", codigo));
return (Produto) criteria.uniqueResult();
} catch (HibernateException he) {
throw he;
} finally {
session.close();
}
}
}
ProdutoAction
public class ProdutoAction extends ActionSupport {
...
private Produto produto;
// getters and setters
public String listar(){
produto = getProdutoDAO().listarPorCodigo(1);
return "SUCCESS";
}
...
}
nao estou conseguindo recuperar os dados do cliente na consulta utilizando struts…
ja tentei das seguintes maneiras e nada:
<s:iterator value="produto.clientes">
<s:property value="nome"/>
</s:iterator>
// nao deu nada
<s:iterator value="produto.clientes">
<s:property value="clientes.nome"/>
</s:iterator>
// também nada
<s:property value="nome"/>
// nada também....
alguem sabe como posso exibir o nome do cliente desse determinado produto?