Não tornar atributo da annotation obrigatório

Eu tenho a senguinte annotation:

@Retention(RetentionPolicy.RUNTIME)
public @interface FetchGroup
{
	boolean all() default false;
	String[] groups();
}

Quanto eu tento usar em um método, o compilador me obriga a declarar valores para os dois atributos…
Como faço pra torná-los opcionais?

//@FetchGroup(all=true) Erro de compilação
@FetchGroup(all=true, groups={}) // Funciona.. Mas exige todos os atributos, all e groups
Modelo getModeloDetached(Long codigo);

Então vc precisa adicionar no atributo groups da sua annotation o valor default:

@Retention(RetentionPolicy.RUNTIME)
public @interface FetchGroup
{
	boolean all() default false;
	String[] groups()  default {};
}

[]s

valeu cara!
é que ao invés de “{}” depois de default eu tentava fazer “new String[0]” ou “new String[]{}” e não funcionava…
valeu!