Como acessar o valor de um campo PRIVATE de uma classe ? [resolvido]

Bom, tava querendo saber como acessar o valor de um campo private de outra classe

tentei por field.get(objeto) mas fala que não tenho acesso…

vi que o hibernate é capaz de ler os campos com acesso private… fiz um teste simples com ele

criei uma classe com tudo privado, sem acesso de fora, porem com valores, mandei pro hibernate fazer update, e o viadinho trocou os dados no banco de dados O.O … não sei como ele faz… ja enviei pra ele um objeto em branco tb, e ele populou o objeto =/ mesmo sendo tudo privado e sem métodos sets

public class Pais implements Serializable { private static final long serialVersionUID = -5249424762521063628L; @Id @GeneratedValue private Integer id = 10; @Length(max=25) @NotNull private String nome = "TrocaONome"; }

fiz um

session.update(new Pais());

ele foi no banco e trocou o valor do campo O.O …

alguem sabe como descobrir o valor ?? de um campo private ?

Não existe métodos get e set desse atributo?

Não sei se é exatamente isso que tu queres.

package brum.mateus;

import java.lang.reflect.Field;

public class App {

	public static void main(String[] args) throws Throwable{
		Pessoa pessoa = new Pessoa();
		
		Class pessoalClazz = pessoa.getClass();
		
		Field[] campos = pessoalClazz.getDeclaredFields();
		
		for(Field f : campos){
			f.setAccessible(true);
			System.out.println(f.getName());
			System.out.println(f.get(pessoa));
		}
		

	}

}

class Pessoa{
	private String nome= "Mateus Brum";	
}

Referência:
http://en.wikibooks.org/wiki/Java_Programming/Reflection/Accessing_Private_Features_with_Reflection

Não, fiz ele assim de proposito… fiz uma entidade so com os campos, que mapeia a tabela no banco de dados… mandei pro hibernate e ele conseguiu achar os dados de alguma forma, e atualizou os dados que tinha no banco…

isso!!!

field.setAccessible(true);

era o q faltva ^^