blob: 43c61b209c32836d7f6c30f6c8d804ac02b2b60d [file] [log] [blame]
Matthias Andreas Benkardec7f8052020-01-24 11:08:34 +01001package eu.mulk.mulkcms2.cms.users;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +01002
3import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
Matthias Andreas Benkard1e7674c2020-04-18 20:28:51 +02004import javax.annotation.CheckForNull;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +01005import javax.persistence.Column;
6import javax.persistence.Entity;
Matthias Andreas Benkard366d8eb2020-01-12 16:46:36 +01007import javax.persistence.FetchType;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +01008import javax.persistence.Id;
9import javax.persistence.IdClass;
10import javax.persistence.JoinColumn;
11import javax.persistence.ManyToOne;
12import javax.persistence.Table;
13
14@Entity
Matthias Andreas Benkard57c9a8a2020-01-24 19:09:38 +010015@Table(name = "user_settings", schema = "public")
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010016@IdClass(UserSettingPK.class)
17public class UserSetting extends PanacheEntityBase {
18
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010019 @Id
20 @Column(name = "user", nullable = false)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010021 public int userId;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010022
23 @Id
24 @Column(name = "setting", nullable = false, length = -1)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010025 public String setting;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010026
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010027 @Column(name = "value", nullable = true, length = -1)
Matthias Andreas Benkard1e7674c2020-04-18 20:28:51 +020028 @CheckForNull
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010029 public String value;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010030
Matthias Andreas Benkard366d8eb2020-01-12 16:46:36 +010031 @ManyToOne(fetch = FetchType.LAZY)
Matthias Andreas Benkard571fd852020-01-12 20:30:21 +010032 @JoinColumn(
33 name = "user",
34 referencedColumnName = "id",
35 nullable = false,
36 insertable = false,
37 updatable = false)
38 public User user;
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +010039}