2014-07-16 44 views
0

我們的需求需要根據用戶輸入生成Pojos。因此,類是基於用戶提供的輸入在運行時創建的。我們一直在使用Javassist創建對象,並使用註釋來創建所有需要的映射。使用Javassist創建Hibernate實體

@ManyToOne(cascade = CascadeType.ALL) 
public Address getUserAddress() { 
    return this.userAddress; 
} 

當我們使用了Javassist這被創建罰款:例如,下面的地沒有問題,因爲沒有涉及到仿製藥創建。但是,當我們嘗試爲一對多映射創建註釋時,Javassist不支持泛型。

@OneToMany(fetch = FetchType.LAZY, mappedBy = "user") 
public Set<UserRecord> getUserRecords() { 
    return this.userRecords; 
} 

這行不通,因爲我們需要設置返回類型爲這不能用Javassist創建「設置」。我通過以下

ctfield.setGenericSignature(java.lang.String sig) 

到目前爲止使用一套通用的方法也試過,我還沒有成功地產生一類仿製藥使用了Javassist返回類型。有沒有其他方法或任何其他解決方法可用於解決這個問題?

+1

你應該看看下面的問題:http://stackoverflow.com/questions/3596723/java-dynamic-code-generation-with-support-for-generics – user3679868

回答

相關問題