Metodo de pesquisa no banco de dados

Olá Comunidade GUJ!

Preciso de uma ajuda de vocês. Atualmente, estou tentando adaptar um metodo de pesquisa de dados no banco em uma classe do meu projeto em que utiliza hibernate e estou precisando transformar isso em sql com ‘SELECT * FROM…’

A minha dúvida é como fazer isto funcionar tendo por base que o PHP utiliza o JAVA para estes tipos de atividades e volta e meia chama os metodos do Java para executar alguma ação, além de que o metodo que precisa ser alterado possui parametros:

public TabelaValoresAtributos getValoresAtributos(final TabelaAtributo idAtributo, final String AtributoValorado)

Tabela do java correspondente à tabela do banco de dados:

public class TabelaValoresAtributos {

private String nomeAtributo; 
private Double valorAtributo; 
private Date dataAtributo; 
private Integer fgDefaultValue; 
private Integer fgHabilitarAtributo; 
private TabelaAtributosPrimaryKey primaryKey;

public TabelaValoresAtributos() {
}


public TabelaValoresAtributosPrimaryKey getPrimaryKey() {
    return this.primaryKey;
}

public void setPrimaryKey(final TabelaAtributosPrimaryKey primaryKey) {
    this.primaryKey = primaryKey;
}


public String getNomeAtributo() {
    return this.nomeAtributo;
}

public void setNomeAtributo(final String nomeAtributo) {
    this.nomeAtributo = nomeAtributo;
}


public Double getValorAtributo() {
    return this.valorAtributo;
}

public void setValorAtributo(final Double valorAtributo) {
    this.valorAtributo = valorAtributo;
}


public Date getDataAtributo() {
    return this.dataAtributo;
}

public void setDataAtributo(final Date dataAtributo) {
    this.dataAtributo = dataAtributo;
}


public Integer getFgDefaultValue() {
    return this.fgDefaultValue;
}

public void setFgDefaultValue(final Integer fgDefaultValue) {
    this.fgDefaultValue = fgDefaultValue;
}


public Integer getfgHabilitarAtributo() {
    return this.fgHabilitarAtributo;
}

public void setFgHabilitarAtributo(final Integer fgHabilitarAtributo) {
    this.fgHabilitarAtributo = fgHabilitarAtributo;
}

Metodo atual que tenho e precisa ser alterado:

> public TabelaValoresAtributos getValoresAtributos(final TabelaAtributo idAtributo, final String AtributoValorado) {
> 		final Set<TabelaValoresAtributos> idValoresAtributos = idAtributo.getAttribValues();
> 		final Iterator iterator = idValoresAtributos.iterator();
> 
> 
> 
> 		while (iterator.hasNext()) {
> 			final TabelaValoresAtributos valorAtributo = (TabelaValoresAtributos) iterator.next();
> 
> 			if (this.compareValorAtributo(idAtributo.getFgDataType(), valorAtributo, AtributoValorado)) {
> 				return valorAtributo;
> 			}
> 		}
> 		return null;

Metodo que estou tentando implementar para substituir o atual metodo acima:

public List<TabelaValoresAtributos> lista() throws SQLException {
        List<TabelaValoresAtributos> getValoresAtributos = new ArrayList<>();
        String sql = "SELECT CDATRIBUTO FROM TabelaValoresAtributos WHERE CDATRIBUTO = (SELECT CDATRIBUTO FROM TabelaAtributo)";
                
        try {
        	
        	final Connection conn = EntityManager.getConnection();
			PreparedStatement preparedStatement = conn.prepareStatement(sql);				
			ResultSet rs = preparedStatement.executeQuery();        	
        	
        	rs = preparedStatement.executeQuery();
        				
                while (rs.next()) {
                    Double valorAtributo = rs.getDouble("valorAtributo");
                    //String nomeAtributo = rs.getString("nomeAtributo");
                } 
             
                } catch (Exception e) {
            	  e.printStackTrace();
                }              
            
        	return getValoresAtributos;
     }

Já te perguntei isso em outro tópico (Este é duplicado, né?), onde está a parte do hibernate, fera?

Olá Darlan,

Bom, como você pode notar, a tabela não está com as anotações que deveria e este metodo precisa funcionar igual ao metodo antigo. A complexidade do meu sistema é um pouco grande, mas acredito que pegando este metodo como exemplo já funcionando, conseguirei replicar em outros que também precisarão de adaptações.

O grande problema de tudo isso é como fazer funcionar sendo que o metodo atual tem parametros nele e eu não sei como nem por onde começar.

Ok, complexidade é esperada em um sistema.
Agora, o que você postou não é um método de pesquisa.
Você faz a consulta, com hibernate, como? Usando criteria? Usando HQL?

Também não vi nada de hibernate na parte atual.

Sobre a parte nova, se quer usar SQL com jpa/hibernate, não fique chutando, segue algum material de estudo. Exemplo: https://www.thoughts-on-java.org/jpa-native-queries/

Se é para usar sempre diretamente SQL, não use hibernate/jpa (EntityManager), é um peso sem necessidade, como se tivesse andando com uma Ferrari acoplada a uma carreta. Prefira JDBC puro ou JDBC Template. Material é o que não falta sobre o básico, quando tiver uma dúvida mais específica você posta.