Bonjour,
J'utilise Eclipselink avec @Multitenant. tout se passe très bien sauf pour @SequenceGenerator
J'ai un problème avec la valeur de l'attribut SequenceGenerator.schema
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 @Entity @NamedQuery(name = "Ville.findAll", query = "SELECT v FROM Ville v") @Multitenant(MultitenantType.TABLE_PER_TENANT) @TenantTableDiscriminator(type=TenantTableDiscriminatorType.SCHEMA, contextProperty="tenant-id") public class Ville implements Serializable { private static final long serialVersionUID = 1L; @Id @SequenceGenerator(name = "VILLE_IDVILLE_GENERATOR", sequenceName = "SEQ_ID_VILLE", allocationSize = 1, schema = ? ) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "VILLE_IDVILLE_GENERATOR") private Integer idville;
si je ne le spécifie pas, il le cherchera dans le schéma par défaut et retournera une erreur car il ne trouvera pas la séquence
Comment pourrais-je le configurer avec @Multitenant pour qu'il cherche la sequence dans le shema du tenant actif?
dans ce topic : https://stackoverflow.com/questions/...n-multitenancy
il dit qu'il faut faire search_path TO tenant au debut des transaction. j'ai essayé :
EntityManager.cretQuery("SET search_path TO tenant");
j'ai cette erreur : The query does not start with a valid identifier, has to be either SELECT, UPDATE or DELETE FROM.
comment pourais-je executer SET search_path TO tenant?
Partager