Java Annotation多值,没有数组

时间:2015-11-13 06:51:11

标签: java annotations

我有一个问题,希望你能帮助我。 我想为我的小小数据库框架创建一个Annotation,但是如何使用注释创建它?

@Columns({name="id", type="long"},{name="username",type="string"})

简单注释ca有一个String []但我想在这个数组中有一个键/值。

谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

不允许使用相同类型的更多注释,您可以更改创意的总体实现

public @interface Column {
      String name();
      String type();
}
public @interface Columns {
    Column[] value();
}

@Columns({@Column(name="id", type="long"), @Column(name="username",type="string")})
public void test() {}

答案 1 :(得分:0)

创建自身拥有键值对的注释类。然后,将其用作接受数组的另一个注释的参数。会像

 @Columns(columns =
   @Column{name = "name", type = "type"},
   @Column{name = "name", type = "type"}, 
   @Column{name = "name", type = "type"}
 )

请参阅Hibernate @SecondaryTable获取灵感。