项目集成了compass,当我修改企业信息后,保存就出现问题,错误日志为:
2009-11-13 11:56:49,687 ERROR [org.hibernate.AssertionFailure.<init>()] >>> <an
assertion failure occured (this may indicate a bug in Hibernate, but is more lik
ely due to unsafe use of the session)>
org.hibernate.AssertionFailure: collection [com.mitmax.core.entitys.ExpoIncCateg
ory.categories] was not processed by flush()
错误地方是ExpoIncCategory 的private List categories;
然后我把只能在ExpoIncCategory 的private List categories;删掉。问题就解决了,有没有高手遇到类似的问题,如果有的话,希望能够指点下这个原因,因为毕竟我不想删除private List categories;,谢谢了,部分源码请看下面:ExpoInc类有个分类级联对象@SearchableComponent(refAlias = "inccategory", maxDepth = 5)
    public ExpoIncCategory getExpoIncCategory() {
        return expoIncCategory;
    }    public void setExpoIncCategory(ExpoIncCategory expoIncCategory) {
        this.expoIncCategory = expoIncCategory;
    }
@SuppressWarnings({"unchecked", "serial"})
@Searchable(alias = "inccategory", poly = true, root = false)
public class ExpoIncCategory extends BaseEntity {
    // Fields
    private String oid;    private String name;
    private String enname;
    //父分类    private ExpoIncCategory category;
    private String chineseFirstName;
private String englishFirstName;
private Integer levels;
    private String status;//状态
    private List categories;
    /**
     * default constructor
     */
    public ExpoIncCategory() {
    }    
    public String getName() {
        return name;
    }    public void setName(String name) {
        this.name = name;
    }    @SearchableProperty(name="chineseFirstName",index=Index.UN_TOKENIZED)
    public String getChineseFirstName() {
        return chineseFirstName;
    }    public void setChineseFirstName(String chineseFirstName) {
        this.chineseFirstName = chineseFirstName;
    }
    
    @SearchableProperty(name="englishFirstName",index=Index.UN_TOKENIZED)
    public String getEnglishFirstName() {
        return englishFirstName;
    }    public void setEnglishFirstName(String englishFirstName) {
        this.englishFirstName = englishFirstName;
    }    public Integer getLevels() {
        return levels;
    }    public void setLevels(Integer levels) {
        this.levels = levels;
    }    public String getStatus() {
        return status;
    }    public void setStatus(String status) {
        this.status = status;
    }
    
    @SearchableComponent(refAlias = "inccategory",maxDepth = 4)
    public ExpoIncCategory getCategory() {
        return category;
    }    public void setCategory(ExpoIncCategory category) {
        this.category = category;
    } public String getEnname() {
return enname;
} public void setEnname(String enname) {
this.enname = enname;
}
    
    @SearchableId(name="categoryId",index=Index.UN_TOKENIZED,store = Store.YES)
    public String getOid() {
        return oid;
    }    public void setOid(String oid) {
        this.oid = oid;
    }    public List getCategories() {
        return categories;
    }    public void setCategories(List categories) {
        this.categories = categories;
    }
}