永続オブジェクト:
@Entity
public class PersistentModelObject{
...
}
次のようなものが必要です:
interface GenericDao<T annotated_with Entity>{
//crud
}
または、何らかの方法でシミュレートできますか (拡張、実装など)。
編集:私の質問を理解している人が、理解できるレベルに編集してください。
永続オブジェクト:
@Entity
public class PersistentModelObject{
...
}
次のようなものが必要です:
interface GenericDao<T annotated_with Entity>{
//crud
}
または、何らかの方法でシミュレートできますか (拡張、実装など)。
編集:私の質問を理解している人が、理解できるレベルに編集してください。
ジェネリックスを介してそのようなアノテーションを使用できるとは思いませんが、java.lang.Class java.lang.reflect.Field isAnnotationPresent(YourAnnotation.class)を使用して、クラスに特定のアノテーションが付けられているかどうかを確認できます。
より良いアプローチは、マーカーインターフェイスを使用することかもしれませんか?何かのようなもの:
public class PersistentModelObject implements MyPersistableType{
...
}
と
interface MyPersistableType {} //marker interface
次に、次のように使用できます。
interface GenericDao<T extends MyPersistableType>{
//crud
}
しかし、繰り返しになりますが、それはあなたが何を解決しようとしているのかによります。
この制限は、リフレクションを使用して実行時にのみ確認できます。