1

持久对象:

@Entity
public class PersistentModelObject{
  ...
}

我需要类似的东西:

interface GenericDao<T annotated_with Entity>{
  //crud
}

或者可以以某种方式模拟它(扩展、实现等)。

编辑:请理解我的问题的人将其编辑到可以理解的水平。

4

2 回答 2

1

我不认为你可以通过泛型使用这样的注释,但你可以使用 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
}

但是话又说回来,这取决于您要解决的问题。

于 2012-07-18T14:44:24.927 回答
1

只能在运行时使用反射检查此限制。

于 2012-07-18T14:45:32.240 回答