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. <[email protected]>
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>