다음과 같이 리플렉션을 사용하여 객체를 가져옵니다. 여기에서 가져온 필드는 최대 절전 모드 Lazy 로딩에 의해 매핑됩니다.Hibernate Lazy 로딩 객체의 getDeclaredFields()는 필드를 반환하지 않습니다.
obj.getClass().getDeclaredFields()
을 다음과 같이
final Field field = clazz.getDeclaredField(fieldName);
field.setAccessible(true);
Object obj = field.get(instance);
는 그럼 난 결과 객체를 사용하지만이 나에게 개체에 정의 된 모든 필드를 반환하지 않습니다. 이 객체는 JPA 엔티티 목록에있는 엔티티 중 하나 일 수 있습니다. 캐스팅 된 객체 대신 Object를 사용할 때 문제가 있다고 생각합니다.
어떻게이 작업을 수행하고이 새로운 발견 된 개체의 모든 필드를 가져올 수 있습니까?
나는 누가 이것을 투표했는지 확실하지 않습니다. 그러나 나는 그 설명을 알고 싶다. 나는 더 많은 정보를 제공 할 수 있습니다. 더 명확하게하기 위해 나는 어떤 유형으로 만들어야하는지 알지 못합니다. 클래스 유형은 필드에 있지만 동적입니다. – dinesh707
현재 실제 클래스에서 하나가 아닌 수퍼 클래스에서 선언 된 필드를 찾으십니까? http://stackoverflow.com/a/16966699/504685 – Charlie
문제를 보여주는 짧지 만 완전한 프로그램을 보여주십시오. (그리고 아뇨, 이것은 캐스팅과 관련이 없습니다.) –