Я пытаюсь настроить нашу базу данных в нашем проекте. Но я получаю некоторые ошибки, когда я пытаюсь использовать @ManyToOne и @ OneToMany на @MappedSuperclass Entity:Получение ошибок с @ManyToOne в игре с использованием @MappedSuperclass
@MappedSuperclass
public abstract class Person extends Model{
//public abstract class Person {
// ATTRIBUTES
@Column(columnDefinition = "varchar(20) not null")
private String firstName;
@Column(columnDefinition = "varchar(20) not null")
private String lastName;
@Column(columnDefinition = "varchar(20) not null")
private String password;
@Column(columnDefinition = "varchar(50) not null")
private String eMail;
@Column(columnDefinition = "varchar(8) not null")
private String svn;
private static int staticId = 0; // Identifier, staticId is unique.
@Id
@Column(columnDefinition = "integer not null")
private int id;
@Column(columnDefinition = "integer")
private int age;
@Column(columnDefinition = "varchar(10)")
private String telephoneNumber;
@Column(columnDefinition = "decimal(10,2)")
private double salary;
@Column(columnDefinition = "boolean")
private boolean allowedOvertime;
//@OneToMany(mappedBy = "person")
private List<TimeEntryMonth> listTimeEntryMonth;
@OneToMany(mappedBy = "person")
private List<Vacation> listVacation;
@OneToMany(mappedBy = "person")
private List<SickLeave> listSickLeave;
Один из классов, который простирается от лица:
@Entity
public class Employee extends Person {
// ATTRIBUTES
private String position;
private Boss boss;
и один из @ OneToMany отношения:
public class SickLeave extends Model {
/* ATTRIBUTES */
@Id
private int id;
@ManyToOne
private Person person;
private int personIdSL;
private String reason;
Если компилировать весь мой проект без @ManyToOne и @OneToMany, он будет работать нормально. Но с это приведет к ошибкам в сомах:
Ошибка инъекционного конструктор, java.lang.RuntimeException: Ошибка чтение аннотаций для models.SickLeave
Я пытался удалить реферат и заменить @MappedSuperclass с @Entity и работает проект. Поэтому я думаю, что я не могу иметь @OneToMany и @ManyToOne отношения на @MappedSuperclass, но я не хочу реорганизовывать весь мой проект.
Есть ли способ (проще) справиться с такими проблемами?
спасибо.
У вас есть конструктор в коде вообще? Я смотрю на некоторые примеры, и похоже, что вам нужен конструктор ... – ryekayo
Спасибо. Да, каждый класс определил свой собственный конструктор. –