Czy można stosować adnotacje Java, które są stosowane warunkowo? Na przykład, powiedzmy, że mam mapowanie hibernacji z adnotacjami sekwencji:Adnotacje warunkowe oparte na środowisku
@Id
@Column(name = "TABLE_ID")
@GeneratedValue(strategy = SEQUENCE, generator = "generator")
@SequenceGenerator(name = "generator", sequenceName = "TABLE_SEQ")
public Long getId() {
return this.Id;
}
Czy można coś zrobić jak poniżej, gdzie adnotacje są usuwane w oparciu o, powiedzmy, zmiennej środowiskowej?
@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;
}
UWAGA: Rozumiem, że w tym scenariuszu można wykorzystać pliki * .hbm.xml dla różnych środowisk, jednak chciałbym użyć adnotacji, ponieważ istnieją mniej pliki do utrzymania.
Krótka odpowiedź, nie, nie jest. Średnia odpowiedź, możesz * użyć * procesora adnotacji, aby wykonać zadanie, ale musisz wtedy zachować procesor adnotacji. –
@RC post jako odpowiedź. – djechlin
@djechlin done;) –