我有一個多對一映射與兩個類(代碼被減少):的PropertyAccessException:無法由反射吸氣得到一個字段值
類別:
@Entity
public class Category {
@Id
@Column(name = "CATEGORY_ID")
Long id;
@NotNull
String name;
子目錄:
@Entity
public class Subcategory {
@Id
@Column(name = "SUBCATEGORY_ID")
Long id;
@NotNull
@ManyToOne(targetEntity = Category.class)
@JoinColumn(name = "CATEGORY_ID")
Long categoryId;
@NotNull
String name;
當我嘗試將子類別添加到現有類別時,我得到
ERROR [org.jboss.ejb3.invocation] JBAS014134: EJB Invocation failed on component SubcategoryController for method public void %package%.SubcategoryController.add(%package%.Subcategory): javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: could not get a field value by reflection getter of %package%.Category.id
...
at %package%.SubcategoryController$$$view1.add(Unknown Source)
...
at %package%.SubcategoryController$Proxy$_$$_Weld$Proxy$.add(SubcategoryController$Proxy$_$$_Weld$Proxy$.java)
at %package%.SubcategoryService.add(SubcategoryService.java:30)
at %package%.SubcategoryService$Proxy$_$$_WeldClientProxy.add(SubcategoryService$Proxy$_$$_WeldClientProxy.java)
...
Caused by: javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: could not get a field value by reflection getter of %package%.Category.id
我該怎麼做才能糾正這個錯誤?
我分析給出的例子,發現將'Long categoryId'改爲'Category category'就足夠了,但這並不能解決我的問題。還有什麼解決方案嗎(我不需要父母班的孩子名單)? –
@OneToMany字段是可選的,如果你不使用它們,hibernate不會產生異常。 –