2014-10-09 10 views
0

GlassFish 4에서 최대 절전 모드 4.3.x와 함께 JPA 2.1을 사용하고 있으며 또한 https://coderwall.com/p/e5fxrw에 나열된 제안을 시도해도 여전히 아래 오류가 표시됩니다. 어떤 사람들이 저에게 무슨 문제인지 알려 줄 수 있습니까?반영 최대 절전 모드로 필드 값을 가져올 수 없음 JPA + GF 4

javax.persistence.PersistenceException : org.hibernate.PropertyAccessException가 : 아래

com.dstar.entity.PurchaseOrder.idpurchaseorder

의 반사 게터하여 필드 값을 가져올 수 없습니다하는 엔티티 코드, getter와 setter 메소드를 생략 :

@Entity 
@Table(name="purchaseorder") 
@PersistenceUnit(name="dstarwarehouse",unitName="dstarwarehouse") 
public class PurchaseOrder implements Serializable{ 

    @Id @GeneratedValue(strategy=GenerationType.AUTO) 
    private int idpurchaseorder; 
    private boolean cash; 
    private boolean credit; 
    private String supplier; 
    private String orderedBy; 
    private String submittedBy; 
    private String approvedBy; 
    private Date expectedDate; 
    private Date creationDate; 
    private Date submittedDate; 
    private Date approvalDate; 
    private String purchaserName; 

    private double total; 

    @JoinColumn(name="idpurchaseorder", referencedColumnName="idpurchaseorder") 
    private List<Part> parts; 

}

+0

예외가 발생하면 정확히 무엇을하려합니까? 문제를 자세히 설명하면 사람들이보다 효과적으로 당신을 도울 수 있습니다. – jpangamarca

답변

1

나는 4.3.6를 최대 절전 모드, 글래스 피쉬 4.1을 사용하고 무 상태 세션 빈에 @PersistenceContext 통해 엔티티 관리자를 주입, 같은 문제가 있고, 몇 가지 흥미로운 보았다.

먼저, Persistence.createEntityManagerFactory ("xxxxxx"). createEntityManager()에서 직접 엔티티 관리자를 가져 오면 문제가 사라집니다. 분명히, 나는 이런 식으로 일을 제대로하는 것을 좋아하지 않는다.

glassfish 4.1에서 glassfish 4로 서버를 변경하면 문제도 해결되는 것으로 보입니다. 그래서,이 순간에, 글래스 피쉬 4.1에서 나에게 문제가 생겼습니다.

+0

물론 GF4로 전환하려고합니다. 나는 단지 엔티티를 지속하려고 노력하고있다. – Ayub

+1

엔티티 관리자를 @PersistenteContext를 통해 주입하는 대신 직접 가져 오려고 했습니까? 어떤 식 으로든 GF 4.1을 4.0으로 변경하면 지속성이 작동합니다. – Tiago

+0

죄송 합니다만, 글래스 피어 버전과 관련된 문제는 없습니다. – Tiago