У меня есть класс User:Spring JPA - первые шаги
@Entity
public class User {
@Id
@GeneratedValue
private Integer id;
private String name;
private String password;
@ManyToMany
@JoinTable
private List<Role> roles;
}
класса Владелец наследуется от пользователя
@Entity
public class Owner extends User {
private String pesel;
private String adress;
@OneToMany(cascade={CascadeType.PERSIST, CascadeType.REMOVE})
private List<Pet> pets;
}
и владелец Pet
public class Pet {
@Id
@GeneratedValue
private Integer id;
private String name;
private String weight;
@ManyToOne
private Owner owner;
}
Почему при запуске приложения получает ошибка:
org.springframework.data.mapping.PropertyReferenceException: No property user found for type Pet!
--edit Сначала я версия, которая была следующим образом:
теперь я пытаюсь поделиться экземпляр пользователя к врачу и владельца животного
проблема в том, что я не знаю, выполняю ли я картографию, и поэтому хотел спросить, должно ли оно выглядеть как
--edit2
я упростил схему только немного, чтобы лучше проиллюстрировать, что происходит
--edit3
В настоящее время был представлен мой объекта:
@Entity
public class Pet {
@Id
@GeneratedValue
private Integer id;
private String name;
private String weight;
}
Пользователь
@Entity
public class User {
@Id
@GeneratedValue
private Integer id;
private String name;
private String password;
@ManyToMany
@JoinTable(name="user_roles")
private List<Role> roles;
}
PetOwner
@Entity
public class PetOwner extends User {
private String pesel;
private String adress;
@OneToMany(mappedBy="petOwner")
private List<Pet> pets;
}
в классе Pet, вы @ManyToOne частного PetOwner petOwner. Где класс PetOwner? Также владелец класса не наследует пользователя, он расширяет пользователя –
Sry. Ошибка в моем сообщении. Теперь все в порядке – Adamo
Что вы на самом деле пытаетесь запустить? Где и когда происходит это исключение? Вы забыли добавить это. И каковы параметры @JoinTable для списка? –