Como utilizar stored procedure com JPA Annotations + SQL-Server?

1 resposta
arthurminarini

como utilizar stored procedure feitas em sql-server usando JPA-annotations?

ja vi alguns exemplos e me parece que o retorno é igual a classe mapeada. mas a minha consulta não tem nada a ver com a classe. ela tras apenas 4 campos ja calculados e minha classe tem cerca de 120 campos :shock:

ja andei dando uma olhada em http://www.guj.com.br/posts/list/125496.java#678347

alguem por favor! :smiley:

se eu rodo a procedure no banco ela tras o registro calculado direitinho mas se vou por esse metodo abaixo ele tras o resultset com os campos direitinho mas os valores dos campos vem null

PreparedStatement st = getSession().connection().prepareStatement("{call precodevenda(?,?,?)}");

        st.setInt(1, 10);
        st.setString(2, "C2");
        st.setInt(3, 3);
        ResultSet s = st.executeQuery();

        return s;//<<<<<<<<< pega os campos e seus tipos mas valores não

1 Resposta

arthurminarini

resolvi!

CallableStatement st = getSession().connection().prepareCall("{call precovendaproduto(?,?,?)}");

        st.setInt(1, 1);
        st.setString(2, "c0");
        st.setInt(3, 3);
        ResultSet rs = st.executeQuery();
        rs.next();

        Vector v = new Vector();
        for (int i = 1; i <= 5; i++){//campos do resultset
            v.add(rs.getFloat(i));
        }

mas pergunto o metodo .connection() é deprecated. tem outro que o substitui na Session?

Criado 29 de maio de 2009
Ultima resposta 30 de mai. de 2009
Respostas 1
Participantes 1