Problema com meu BD e JAVABEAN

Olá pessoal, Bom dia!

Eu to com um problema de banco de dados, onde eu tenho 4 tabelas.

1 tabela puxa chave estrangeira(codigo) das outras 3 tabelas.

quando eu criei meu Bean, eu criei 4 atributos int(cod_bean + 3 cod_chavesEstrangeiras), agora eu tenho uma duvida, quando eu faço o INNER JOIN pela consulta, ele me retorna os nomes, que ao invés de mostrar o codigo eu vou mostrar o nome mesmo no datatable, mas como e onde eu devo guardar esse nome no meu Bean se eu não tenho os atributos do tipo String,eu tenho que criar 3 objetos dentro dessa classe Bean pra poder armazenar esse nome?

Seria interessante você postar sua consulta e sua bean aqui para podermos analisar, se é que você já tem elas.

OK, segue a consulta:



public List<HorasTrabBean> consultaHorasAdmin(){
		
		try{
			
			ResultSet rs = stm.executeQuery("SELECT fk_cd_func as cod_func, fk_cd_atividade as cod_ativ, fk_cd_sistema as cod_sis, Sum(HORAS_TRAB.nr_qtd_horas) AS soma FROM HORAS_TRAB GROUP BY fk_cd_func, fk_cd_atividade, fk_cd_sistema");
			list_horasTrab.clear();
			
			while(rs.next()){
				
				HorasTrabBean hora = new HorasTrabBean();
                  hora.funcionario_hora.setCodigo_func(rs.getInt("cod_func"));
				hora.atividades_hora.setCodigo(rs.getInt("cod_ativ"));
				hora.sistemas_hora.setCodigo(rs.getInt("cod_sis"));
				
				int decimalPlace = 2;
				BigDecimal bd = new BigDecimal(rs.getDouble("soma"));
				bd = bd.setScale(decimalPlace,BigDecimal.ROUND_HALF_UP);
				double horas = bd.doubleValue();
				hora.setHoras(horas);
				list_horasTrab.add(hora);
			
			}
			rs.close();
			
		}catch(SQLException e){
			
			JOptionPane.showMessageDialog(null, e.getMessage(), "Erro", 0);
			
		}
		return list_horasTrab;
		
	}

eu coloquei sem o INNER JOIN primeiro, mais mesmo assim ele da erro quando vai guardar os cods.

e segue o meu Bean:


public class HorasTrabBean {

	private int cod_horasTrab;
	private double horas;
	private Date data_servico_final;
	private String descricao;
	private boolean status;
	private Date data_registro_abertura;
	
	public FuncionarioBean funcionario_hora;
	public AtividadesBean atividades_hora;
	public SistemasBean sistemas_hora;
	
	public HorasTrabBean(){
		
		funcionario_hora = new FuncionarioBean();
		atividades_hora = new AtividadesBean();
		sistemas_hora = new SistemasBean();
	}
	
	public int getCodigo() {
		return cod_horasTrab;
	}

	public void setCodigo(int codigo) {
		this.cod_horasTrab = codigo;
	}

	public double getHoras() {
		return horas;
	}

	public void setHoras(double horas) {
		this.horas = horas;
	}

	public Date getData_servico() {
		return data_servico_final;
	}

	public void setData_servico(Date dataServico) {
		data_servico_final = dataServico;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	
	public boolean isStatus() {
		return status;
	}

	public void setStatus(boolean status) {
		this.status = status;
	}


	public Date getData_registro() {
		return data_registro_abertura;
	}

	public void setData_registro(Date dataRegistro) {
		data_registro_abertura = dataRegistro;
	}

	public FuncionarioBean getFuncionario_hora() {
		return funcionario_hora;
	}

	public void setFuncionario_hora(FuncionarioBean funcionarioHora) {
		funcionario_hora = funcionarioHora;
	}

	public AtividadesBean getAtividades_hora() {
		return atividades_hora;
	}

	public void setAtividades_hora(AtividadesBean atividadesHora) {
		atividades_hora = atividadesHora;
	}

	public SistemasBean getSistemas_hora() {
		return sistemas_hora;
	}

	public void setSistemas_hora(SistemasBean sistemasHora) {
		sistemas_hora = sistemasHora;
	}
	
}

e também tenho um MB que faz a interação dos 2.(onde tem a lista e o próprio Bean).

Valeu.

Essas colunas cod_func, cod_ativ e cod_sis que você está setando nas variáveis
estão retornando valores do tipo texto ou númericos? Pelos nome das colunas parece retornar números(códigos).
Se essas colunas estão retornando alfanuméricos você precisa seta-las em variáveis String.

elas são do tipo numéricos, ele retorna valor inteiro.

Se eu estiver errado me corrija, pois ainda estou tentando entender exatamente o que você quer.

Seu SELECT não está retornando o que você quer.
Você quer buscar o nome da função, atividade, etc… certo?

Se sua consulta realmente não retorna o que você quer, monte uma consulta
que retorne apenas aquilo que você quer usar. Depois crie variáveis do tipo String
para receber os alfatnuméricos do BD.

na verdade a minha duvida é se eu tenho que criar atributos do tipo String no meu Bean só para armazenar esses nomes que virão do SELECT,
ou se tem um jeito mais facil de fazer?

lymoreira, eu desconheço uma outra forma. Crie atributos do tipo String.

Bom, valeu pessoal, vou fazer assim mesmo, e obrigado.