29 votes

JPA utilisant plusieurs schémas de base de données

Je rencontre un petit problème avec une question particulière en utilisant JPA/Spring:

Comment puis-je attribuer dynamiquement un schéma à une entité?

Nous avons TABLE1 qui appartient au schéma AD et TABLE2 qui est sous BD.

@Entity
@Table(name = "TABLE1", schema="S1D")
...

@Entity
@Table(name = "TABLE2", schema="S2D")
...

Les schémas ne peuvent pas être codés en dur dans un attribut d'annotation car cela dépend de l'environnement (Dev/Acc/Prd). (En acceptation, les schémas sont S1A et S2A)

Comment puis-je y parvenir? Est-il possible de spécifier des sortes de placeholders comme ceci:

@Entity
@Table(name = "TABLE1", schema="${schema1}")
...

@Entity
@Table(name = "TABLE2", schema="${schema2}")
...

afin que les schémas soient remplacés en fonction d'un fichier de propriétés résidant dans l'environnement?

Bien à vous

1voto

Kalpesh Soni Points 587

Lorsque vous créez une source de données, vous pouvez éventuellement initialiser la connexion pour utiliser un schéma différent

par exemple pour weblogic

Spécifier le schéma par défaut pour le pool JDBC dans weblogic / oracle

0voto

Nico Points 615

Les arguments d'annotation doivent être finaux et ne peuvent donc pas être modifiés pendant l'exécution.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X