This is an automated email from the ASF dual-hosted git repository. yufei pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/polaris.git
The following commit(s) were added to refs/heads/main by this push: new 7018f65aa EclipseLink: add PrimaryKey to policy mapping records JPA model (#1403) 7018f65aa is described below commit 7018f65aa854c218c42aa0c6db8ec13b253d93db Author: Honah (Jonas) J. <hon...@apache.org> AuthorDate: Mon Apr 21 09:09:54 2025 -0700 EclipseLink: add PrimaryKey to policy mapping records JPA model (#1403) --- extension/persistence/jpa-model/build.gradle.kts | 2 ++ .../apache/polaris/jpa/models/ModelPolicyMappingRecord.java | 10 ++++++++++ getting-started/assets/eclipselink/persistence.xml | 1 + 3 files changed, 13 insertions(+) diff --git a/extension/persistence/jpa-model/build.gradle.kts b/extension/persistence/jpa-model/build.gradle.kts index 0bc5af7be..ab782fd79 100644 --- a/extension/persistence/jpa-model/build.gradle.kts +++ b/extension/persistence/jpa-model/build.gradle.kts @@ -24,6 +24,8 @@ plugins { dependencies { implementation(project(":polaris-core")) + implementation(libs.eclipselink) + compileOnly(libs.jakarta.validation.api) compileOnly(libs.jakarta.annotation.api) compileOnly(libs.jakarta.persistence.api) diff --git a/extension/persistence/jpa-model/src/main/java/org/apache/polaris/jpa/models/ModelPolicyMappingRecord.java b/extension/persistence/jpa-model/src/main/java/org/apache/polaris/jpa/models/ModelPolicyMappingRecord.java index 122eeadb8..c77975843 100644 --- a/extension/persistence/jpa-model/src/main/java/org/apache/polaris/jpa/models/ModelPolicyMappingRecord.java +++ b/extension/persistence/jpa-model/src/main/java/org/apache/polaris/jpa/models/ModelPolicyMappingRecord.java @@ -18,12 +18,14 @@ */ package org.apache.polaris.jpa.models; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Index; import jakarta.persistence.Table; import jakarta.persistence.Version; import org.apache.polaris.core.policy.PolarisPolicyMappingRecord; +import org.eclipse.persistence.annotations.PrimaryKey; @Entity @Table( @@ -33,6 +35,14 @@ import org.apache.polaris.core.policy.PolarisPolicyMappingRecord; name = "POLICY_MAPPING_RECORDS_BY_POLICY_INDEX", columnList = "policyCatalogId,policyId,targetCatalogId,targetId") }) +@PrimaryKey( + columns = { + @Column(name = "targetCatalogId"), + @Column(name = "targetId"), + @Column(name = "policyTypeCode"), + @Column(name = "policyCatalogId"), + @Column(name = "policyId") + }) public class ModelPolicyMappingRecord { // id of the catalog where target entity resides @Id private long targetCatalogId; diff --git a/getting-started/assets/eclipselink/persistence.xml b/getting-started/assets/eclipselink/persistence.xml index 54fb795a3..5ffd9d1b3 100644 --- a/getting-started/assets/eclipselink/persistence.xml +++ b/getting-started/assets/eclipselink/persistence.xml @@ -28,6 +28,7 @@ <class>org.apache.polaris.jpa.models.ModelEntityChangeTracking</class> <class>org.apache.polaris.jpa.models.ModelEntityDropped</class> <class>org.apache.polaris.jpa.models.ModelGrantRecord</class> + <class>org.apache.polaris.jpa.models.ModelPolicyMappingRecord</class> <class>org.apache.polaris.jpa.models.ModelPrincipalSecrets</class> <class>org.apache.polaris.jpa.models.ModelSequenceId</class> <shared-cache-mode>NONE</shared-cache-mode>