Matthias Andreas Benkard | d9b9588 | 2020-01-24 11:42:49 +0100 | [diff] [blame] | 1 | package eu.mulk.mulkcms2.benki.users; |
Matthias Andreas Benkard | 734879e | 2020-01-24 10:47:37 +0100 | [diff] [blame] | 2 | |
Matthias Andreas Benkard | 35cb159 | 2020-01-24 11:05:20 +0100 | [diff] [blame] | 3 | import io.quarkus.hibernate.orm.panache.PanacheEntityBase; |
Matthias Andreas Benkard | 734879e | 2020-01-24 10:47:37 +0100 | [diff] [blame] | 4 | import java.math.BigInteger; |
| 5 | import javax.persistence.Column; |
| 6 | import javax.persistence.Entity; |
Matthias Andreas Benkard | aa75480 | 2020-01-24 11:55:26 +0100 | [diff] [blame] | 7 | import javax.persistence.FetchType; |
Matthias Andreas Benkard | 734879e | 2020-01-24 10:47:37 +0100 | [diff] [blame] | 8 | import javax.persistence.Id; |
| 9 | import javax.persistence.IdClass; |
| 10 | import javax.persistence.JoinColumn; |
| 11 | import javax.persistence.JoinColumns; |
| 12 | import javax.persistence.ManyToOne; |
| 13 | import javax.persistence.Table; |
| 14 | |
| 15 | @Entity |
Matthias Andreas Benkard | 57c9a8a | 2020-01-24 19:09:38 +0100 | [diff] [blame] | 16 | @Table(name = "user_rsa_keys", schema = "benki") |
Matthias Andreas Benkard | 734879e | 2020-01-24 10:47:37 +0100 | [diff] [blame] | 17 | @IdClass(UserRsaKeyPK.class) |
Matthias Andreas Benkard | 35cb159 | 2020-01-24 11:05:20 +0100 | [diff] [blame] | 18 | public class UserRsaKey extends PanacheEntityBase { |
Matthias Andreas Benkard | 734879e | 2020-01-24 10:47:37 +0100 | [diff] [blame] | 19 | |
| 20 | @Id |
| 21 | @Column(name = "user", nullable = false) |
Matthias Andreas Benkard | 35cb159 | 2020-01-24 11:05:20 +0100 | [diff] [blame] | 22 | public int userId; |
Matthias Andreas Benkard | 734879e | 2020-01-24 10:47:37 +0100 | [diff] [blame] | 23 | |
| 24 | @Id |
| 25 | @Column(name = "modulus", nullable = false, precision = 0) |
Matthias Andreas Benkard | 35cb159 | 2020-01-24 11:05:20 +0100 | [diff] [blame] | 26 | public BigInteger modulus; |
Matthias Andreas Benkard | 734879e | 2020-01-24 10:47:37 +0100 | [diff] [blame] | 27 | |
| 28 | @Id |
| 29 | @Column(name = "exponent", nullable = false, precision = 0) |
Matthias Andreas Benkard | 35cb159 | 2020-01-24 11:05:20 +0100 | [diff] [blame] | 30 | public BigInteger exponent; |
Matthias Andreas Benkard | 734879e | 2020-01-24 10:47:37 +0100 | [diff] [blame] | 31 | |
Matthias Andreas Benkard | aa75480 | 2020-01-24 11:55:26 +0100 | [diff] [blame] | 32 | @ManyToOne(fetch = FetchType.LAZY) |
Matthias Andreas Benkard | 734879e | 2020-01-24 10:47:37 +0100 | [diff] [blame] | 33 | @JoinColumn(name = "user", referencedColumnName = "id", nullable = false) |
Matthias Andreas Benkard | 35cb159 | 2020-01-24 11:05:20 +0100 | [diff] [blame] | 34 | public User user; |
Matthias Andreas Benkard | 734879e | 2020-01-24 10:47:37 +0100 | [diff] [blame] | 35 | |
Matthias Andreas Benkard | aa75480 | 2020-01-24 11:55:26 +0100 | [diff] [blame] | 36 | @ManyToOne(fetch = FetchType.LAZY) |
Matthias Andreas Benkard | 734879e | 2020-01-24 10:47:37 +0100 | [diff] [blame] | 37 | @JoinColumns({ |
Matthias Andreas Benkard | d9b9588 | 2020-01-24 11:42:49 +0100 | [diff] [blame] | 38 | @JoinColumn( |
| 39 | name = "modulus", |
| 40 | referencedColumnName = "modulus", |
| 41 | nullable = false, |
| 42 | insertable = false, |
| 43 | updatable = false), |
| 44 | @JoinColumn( |
| 45 | name = "exponent", |
| 46 | referencedColumnName = "exponent", |
| 47 | nullable = false, |
| 48 | insertable = false, |
| 49 | updatable = false) |
Matthias Andreas Benkard | 35cb159 | 2020-01-24 11:05:20 +0100 | [diff] [blame] | 50 | }) |
| 51 | public RsaKey rsaKey; |
Matthias Andreas Benkard | 734879e | 2020-01-24 10:47:37 +0100 | [diff] [blame] | 52 | } |