Bonjour,

J'utilise Eclipselink avec @Multitenant. tout se passe très bien sauf pour @SequenceGenerator

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;
J'ai un problème avec la valeur de l'attribut SequenceGenerator.schema

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?