È possibile avere annotazioni Java applicate in modo condizionale? Ad esempio, consente di dire che ho una mappatura Hibernate con una sequenza ragionata:Annotazioni condizionali basate sull'ambiente
@Id
@Column(name = "TABLE_ID")
@GeneratedValue(strategy = SEQUENCE, generator = "generator")
@SequenceGenerator(name = "generator", sequenceName = "TABLE_SEQ")
public Long getId() {
return this.Id;
}
E 'possibile fare qualcosa di simile alla seguente, in cui le annotazioni vengono rimossi basano su, per esempio, una variabile d'ambiente?
@Id
@Column(name = "TABLE_ID")
if(env.equals('dev')){
@GeneratedValue(strategy = SEQUENCE, generator = "generator")
@SequenceGenerator(name = "generator", sequenceName = "TABLE_SEQ")}
public Long getId() {
return this.Id;
}
NOTA: capisco che in questo scenario è possibile utilizzare i file * .hbm.xml per diversi ambienti, però mi piacerebbe utilizzare le annotazioni in quanto vi sono meno file per mantenere.
Risposta breve, no, non è così. Risposta media, è possibile * utilizzare un processore di annotazioni per eseguire il lavoro, ma è necessario mantenere un processore di annotazione. –
@RC inserire come risposta. – djechlin
@djechlin fatto;) –