Benki: Clean up the data model mapping some more.
- Replaces user attribute table mappings with element collections and
join table mappings.
- Adds an explicit schema specifier to all join table specifiers.
Change-Id: I0e251e1939faa895155cbe868220d98be2c1e70c
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java b/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java
index 9dd7931..d03597b 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java
@@ -2,13 +2,14 @@
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
import java.math.BigInteger;
-import java.util.Collection;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.IdClass;
-import javax.persistence.OneToMany;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.ManyToOne;
import javax.persistence.Table;
@Entity
@@ -24,6 +25,11 @@
@Column(name = "exponent", nullable = false, precision = 0)
public BigInteger exponent;
- @OneToMany(mappedBy = "rsaKey", fetch = FetchType.LAZY)
- public Collection<UserRsaKey> users;
+ @ManyToOne(fetch = FetchType.LAZY)
+ @JoinTable(
+ name = "user_rsa_keys",
+ schema = "benki",
+ joinColumns = {@JoinColumn(name = "modulus"), @JoinColumn(name = "exponent")},
+ inverseJoinColumns = @JoinColumn(name = "user"))
+ public User user;
}