我在Glassfish 4上使用JPA2.1和Hibernate 4.3.x,也尝试了https://coderwall.com/p/e5fxrw中列出的建议,仍然得到了下面的错误。有人能告诉我可能是什么问题吗?
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;}
发布于 2014-10-27 05:45:52
我遇到了同样的问题,使用glassfish 4.1,hibernate 4.3.6,并通过无状态会话Bean中的@PersistenceContext注入实体管理器,发现了一些有趣的事情。
首先,如果我直接从Persistence.createEntityManagerFactory("xxxxxx").createEntityManager()获取实体管理器,问题就会消失。显然,我不喜欢用这种方式把事情做好。
将服务器从glassfish 4.1改为glassfish 4,似乎也解决了这个问题。所以,在这个时刻,问题看起来像是glassfish 4.1中的一些错误。
https://stackoverflow.com/questions/26270663
复制相似问题