2017-02-26 1 views
0

Je suis en train de développer une application web, pour des raisons juridiques, je dois diviser les tables par pays. Je peux diviser par un schéma tel que schema_name contiendra des tables de configuration de données, schema_name_ar contiendra des données AR, schema_name_ES contiendra des données ES, etc. Je pourrais aussi développer pour nommer les tables comme TABLE_A_ES, TABLE_A_AR, TABLE_A_ZA, etc. Pour l'instant, il n'y aura pas de différence dans les colonnes de la table, donc je veux réutiliser l'entité.Hibernate Une Entité Plusieurs Tableaux par Pays

En fonction de l'utilisateur qui se connecte, il sera capable de CRUD sur des tables spécifiques. Est-ce que Hibernate/JPA peut faire cela?

Merci

Répondre

1

Malheureusement, il n'y a pas cette fonctionnalité dans JPA 'pur'.

Cependant, je suppose que vous pourriez implémenter votre exigence en utilisant des fonctionnalités de multi-tenancy fournies par certains des fournisseurs de persistance (EclipseLink: https://wiki.eclipse.org/EclipseLink/Examples/JPA/Multitenant, Hibernate: https://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch16.html). Fondamentalement, vous pouvez utiliser l'approche table-par-locataire et traiter chaque pays comme un locataire distinct. Vous devez également conserver votre entité utilisateur partagée entre les locataires et stocker l'identifiant du locataire avec les autres données utilisateur.