Dúvida de iniciante em Java e OO. Gravando dados

Oi,

Tenho uma classe produto onde tem um atributo grupo.
No momento de gravar os dados na tabela produto, como vou fazer para gravar o código do grupo na tabela produto?
Pois ao receber os dados no form, instanciei um objeto do tipo produto e outro do tipo grupo.
Passei o código do grupo (form) para o setcodigo (objeto grupo). Mas estou gravando na classe produto. Como referenciar no preparedStament o getcodigo do grupo?

Não sei se conseguir ser claro na minha explicação.

Boa tarde.

Quer uma forma melhor?
Poste seu código, de forma que ele esteja entre as tags Code para uma melhor visualização do seu código, para que possamos analisar ele e retornar uma resposta mais clara e objetiva ok?

Abraços! :slight_smile:

Vou tentar responder de acordo com o que disse e eu compreendi.
Pode fazer assim: dentro da sua classe produto crie um atributo que seja uma referência a sua classe Grupo, assim:

[code]//classe produto
//seus atributos…
Grupo group;

//getters and setters[/code]

Quando instanciar a classe Produto e a classe Grupo, seta o id que quer no atributo ‘id’ do Objeto Grupo e em seguida seta o grupo ao seu objeto Produto, algo assim:

//referencia a classe Grupo grupo.setId(1); //referencia a classe Produto produto.setGroup(grupo);

Quando for efetuar a inserção no banco, basta dar os getters necessário, assim:

int id = produto.getGroup().getId();

Espero ter ajudado. Abraços :slight_smile:

Valeu!

Funcionou.

Pelo que entendi, você tem mais ou menos a segunte estrutura:

classe produto
Grupo grupo
String produto

classe grupo
int codigoGrupo
int descricao

No seu método adicionarProduto() peça como parâmetros um Produto e um Grupo, mais ou menos assim:

public void adiciona(Produto p, Grupo c) throws SQLException{
	String sql = "INSERT INTO Produto (descricao, codigoGrupo) VALUES (?,?)";

		PreparedStatement stmt = conexao.prepareStatement(sql);

		stmt.setString(1, p.getDescricao());
		stmt.setInt(2, c.getCodigoGrupo());

		stmt.execute();
		stmt.close();
}

Não sei se era bem essa a dúvida… qualquer coisa posta seu código pra facilitar…

Ahh então já resolveu… rs… mas então fica ai a sugestão.

Beijoos =)

Ótimo. Sempre que postar um tópico e seu problema for resolvido, poste [Resolvido] ao lado dele ok?

Tenha uma boa tarde!

Abraços! :slight_smile:

Oi, Tathy.

Eu ainda não tinha executado.
Mas pela lógica deu para perceber que iria funcionar.
Agradeço o restante do código.