Hibernate отображает объект на три разных таблицы, имея разные значения - PullRequest
0 голосов
/ 01 мая 2020

У меня есть две сущности в Hibernate User и Permission, и я хочу иметь таблицу users со всеми пользовательскими данными. Тогда я хочу таблицу permissions, где перечислены все доступные разрешения для пользователей с их значением по умолчанию. И, наконец, я хочу таблицу user_permissions, которая отображает доступное разрешение для идентификатора пользователя и устанавливает значение для этого разрешения.

Именно так я и настроил его, но я думаю, что это не сработает :

// User Entity
@Entity
@Table(name = "users")
public class User {

    @Id
    @GeneratedValue
    private long id;
    @Column(nullable = false)
    private String username;
    @Column(nullable = false)
    private String email;

    @Column(nullable = false)
    private String password;

    @Column(nullable = false)
    private Date registrationDate;
    @Column
    private Date lastLoginDate;

    @Column
    private String activationKey;
    @Column
    private String recoveryKey;

    @JoinTable
    private List<Permission> permissions;

    @Column(nullable = false)
    private boolean disabled;
}
// Permission Entity
@Entity
public class Permission {

    @Id
    @GeneratedValue
    private long id;

    @Column(nullable = false)
    private String name;

    @Column(nullable = false)
    private Permission.Type type;

    @Column(nullable = false)
    private String value;

    /**
         * @author Jonas
         *
         */
    public enum Type {
        STRING,
        NUMBER,
        FLAG
    }
}

Спасибо за помощь!

...