Duvida reflection + jpa

Pessoa, seguinte… criei a minha entity pelo netbeans, ele cria direitinho com as anotacoes

agora consigo eu desenvolver uma classe q o usuario me passe um objeto qualquer, eu varra a classe daquele objeto, e atraves das annotations do jpa recupere quais os campos q nao podem ser nulos(ate aqui eu ja consegui fazer) e verificar se o objeto q ele me passou esses campos estao nulos ou nao??

obrigado

legal. e me ajudar tu consegue??? eu cheguei ate aqui soh:

        TbCaixa caixa = new TbCaixa();
        caixa.setNmUsuarioAbertura("binhoca");
        Class classe = caixa.getClass();

        for (Field campos : classe.getDeclaredFields()) {

            Id id = campos.getAnnotation(javax.persistence.Id.class);
            if (id == null) {
                Column c = campos.getAnnotation(javax.persistence.Column.class);
                if (c != null) {
                    if (c.nullable() == false) {
                        System.out.println("");
                        System.out.println("Nome do Campo " + campos.getName());
                        System.out.println("Nulo  " + c.nullable());
                        String nomeMetodoCampo = "get" + campos.getName();
                        for (Method metodo : classe.getDeclaredMethods()) {
                                 ********** AQUI EU QUERO EXECUTAR O METODO E VER O Q TEM DELE, SE E NULL OU SE CONTEM ALGUMA COISA
                        }

                    }

nao consigo pegar o valor do campo… sabe como eu posso fazer issu?

cara eu achei o seguinte “q parece ser mais simples”

[code] TbCaixa caixa = new TbCaixa();
caixa.setNmUsuarioAbertura(“binhoca”);

    try {
        System.out.println(caixa.getClass().toString().substring(6));
        Class<?> classe = Class.forName(caixa.getClass().toString().substring(6));
        for (Field campos : classe.getDeclaredFields()) {
        
            Id id = campos.getAnnotation(javax.persistence.Id.class);
            if (id == null) {
                Column c = campos.getAnnotation(javax.persistence.Column.class);
                if (c != null) {
                    if (c.nullable() == false) {
                        System.out.println("");
                        System.out.println("Nome do Campo " + campos.getName());
                        System.out.println("Nulo  " + c.nullable());
                        String nomeMetodoCampo = "get" + campos.getName();
                        TbCaixa a = (TbCaixa) classe.newInstance();
                        for (Method metodo : classe.getDeclaredMethods()) {
                            if(metodo.getName().equalsIgnoreCase(nomeMetodoCampo)){
                            Object ae = metodo.invoke(a, new Object[]{});
                                System.out.println("aee");
                            }

                        }
                    }
                }

            }

}}[/code]

mas ele sempre me traz nullo… sabe o pq??

Se a pergunta é somente esta, consegue sim.

Trecho de código que executa o método.

Method method = Graphical.class.getMethod("set" + item.substring(0, 1).toUpperCase() + item.substring(1, item.length()), args);
method.invoke(graphical, ((Node) itemNodeList.item(0)).getNodeValue().trim());