發現我有關係Product.java
兩個階級,AdminUser.java
財產不能在對象
Product.java
public class ProducImpl{
//one to one relation between product and sku
protected Sku defaultSku;
@ManyToMany(fetch=FetchType.Eager,targetEntity=AdminUserImpl.class,cascade=CascadeType.ALL)
@JoinTable(name="PRODUCT_SELLER_XREF", joinColumns = @JoinColumn(name="PRODUCT_ID",refernecedColumnName="PRODUCT_ID"), [email protected](name="ADMIN_USER_ID",refernecedColumnName="ADMIN_USER_ID")
public List<AdminUser> adminUser = new ArrayList<AdminUser>();
public List<AdminUser> getAdminUser(){
return adminUser;
}
public void setAdminUser(List<AdminUser> adminUser){
this.adminUser = adminUser;
}
//getters and setter for defaultSku
}
AdminUser.java
public class AdminUserImpl{
@Column(name="NAME",nullable="false")
@Index(name="ADMINUSER_NAME_INDEX",columnNames="NAME")
protected String name;
@ManyToMany(fetch=FetchType.Eager,targetEntity=ProductImpl.class,cascade=CascadeType.ALL)
@JoinTable(name="PRODUCT_SELLER_XREF", joinColumns = @JoinColumn(name="ADMIN_USER_ID",refernecedColumnName="ADMIN_USER_ID"), [email protected](name="PRODUCT_ID",refernecedColumnName="PRODUCT_ID")
public List<Product> product= new ArrayList<Product>();
public List<product> getProduct(){
return product;
}
public void setProduct(List<AdminUser> product){
this.product= product;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
}
在產品頁面我需要顯示產品詳細信息,如product name
,skucode
,sellername
,我們使用thymleaf
所以,通過使用th:object
我們得到product
的對象,並在產品對象的幫助下可以獲得產品詳細信息,但這裏的問題是,當我嘗試獲取賣家的名字時在adminuser
對象,我在product
對象得到一個異常說
org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 19): Field or property 'name' cannot be found on object of type 'org.hibernate.internal.PersistantBag'- may not public?
Product.html
<div th:object={$product}>//loading product object
code : <span th:text=*{defaultSku.id}></span>//getting sku id for product
brand: <a th:text=*{manufacturer}//getting brand name
seller: <span th:text=*{adminUser.name}//failing to get seller name
</div>
爲defaultSku.id
有product
和sku
之間的關係,所以當我打電話defaultSku.id
我越來越skuid
成功,但是當我打電話adminUser.name
變得異常什麼不對的關係?爲什麼我得到這個異常?任何人都可以幫助我如何解決?
這真的吹拂我的心靈。 –
您缺少管理員用戶名屬性的setter方法。嘗試在java中打印管理用戶名並檢查日誌並告訴我們你得到了什麼。 – Lucky
@Lucky我有,但忘了複製粘貼... –