Programa desktop Java com PostgreSQL
Bom dia,
Estou desenvolvendo uma aplicação em Java e estou utilizando um banco de dados no PostgreSQL. Vou exemplificar minha dúvida:
Tabelas do banco:
create table tipo_usuario(
codtipusu integer not null,
desctipusu varchar(40) not null
);
alter table tipo_usuario add constraint tipo_usuario_pk primary key(codtipusu);
create table usuario(
codusu integer not null,
nomusu varchar(40) not null,
codtipusu integer not null
);
alter table usuario add constraint usuario_pk primary key(codusu);
alter table usuario add constraint usu_codtipusu_fk foreign key(codtipusu) references tipo_usuario(codtipusu);
Quero saber como trabalho no java com essa chave estrangeira que tenho na tabela usuario, pois terei que fazer as ações de inserir dados, deletar, alterar e listar ... Alguns artigos que li, mostram a declaração no java da seguinte maneira:
public class Usuario {
private long codUsu;
private String nomUsu;
private TipoUsuario tipoUsuario;
// getters e setters
}
public class TipoUsuario {
private long codTipUsu;
private String descTipUsu;
//getters e setters
}
Listando os usuários(exemplo):
public class ManipularUsuario() {
ManipularPostgresql bd = new ManipularPostgresql(); // classe de conexão com o banco
private final String SELECT_USUARIO = "select * from usuario";
public List<Usuario> selectUsuario() throws SQLException {
Connection con = null;
List<Usuario> listUsuario = new ArrayList<Usuario>();
try {
con = bd.getConnection();
PreparedStatement prepared = con.prepareStatement(SELECT_USUARIO);
ResultSet resultSet = prepared.executeQuery();
while (resultSet.next()) {
Usuario usuario = new Usuario();
usuario.setCodUsu(resultSet.getLong("codusu"));
usuario.setNomUsu(resultSet.getString("nomusu"));
// AQUI SERIA O OBJETO DO TIPOUSUARIO, COMO FAÇO PARA SETAR?
listUsuario.add(usuario);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
bd.closeConnnection(con);
}
return listUsuario;
}
}
A chave estrangeira é criada no java como um objeto do TipoUsuario, mas no banco a chave estrangeira é somente o código do tipo_usuario. Na hora de inserir, excluir, alterar e listar, como faço para acessar, sendo que no java tenho um objeto?
Agradeço se alguém puder ajudar.
Atenciosamente,
Deizi
Discussão (1)
Carregando comentários...