1

例如,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...
}
4

0 回答 0