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