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返回類型。有沒有其他方法或任何其他解決方法可用於解決這個問題?
你應該看看下面的問題:http://stackoverflow.com/questions/3596723/java-dynamic-code-generation-with-support-for-generics – user3679868