例如,org.springframework.data.jpa.domain.AbstractPersistable 需要公钥的类型。我试过这样的事情:
roo> entity jpa --class ~.model.Foo --extends org.springframework.data.jpa.domain.AbstractPersistable<Long>
但他们只是给出错误,例如:
java.lang.IllegalArgumentException: Failed to convert 'org.springframework.data.jpa.domain.AbstractPersistable<Long>' to type JavaType for option 'extends' Illegal name 'org.springframework.data.jpa.domain.AbstractPersistable<Long>' (illegal character)
我可以通过创建一个新类 Bar 来规避这个问题(需要提供类型参数)。
class Bar extends org.springframework.data.jpa.domain.AbstractPersistable<Long> {}
并让 Foo 扩展 Bar。
roo> entity jpa --class ~.model.Foo --extends ~.model.Bar
但是我会失去类型参数的所有好处。
上述问题是否存在可行的解决方案?如果是这样,那会是什么?
顺便说一句:在理想的世界中,我希望我的域类扩展以下 AbstractAuditableEntity。
public abstract class AbstractAuditableEntity<U, PK extends java.io.Serializable>
extends org.springframework.data.jpa.domain.AbstractPersistable<PK>
implements org.springframework.data.domain.Auditable<U, PK> {
// some private fields, setters and getters...
}