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>

Reply via email to