Я делаю простое весеннее веб-приложение MVC и использую Hibernate с Oracle.У меня есть две модели - пользователь и роль, и я хочу определить отношения между многими.Я видел несколько учебных пособий и определил свои модели, как показано ниже:
Это User
класс:
@Entity
@Table(name = "AppUser")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "id_sequence")
@SequenceGenerator(name = "id_sequence", sequenceName = "ID_SEQ")
@Column(name = "Id")
private int id;
@Column(name = "Username")
private String username;
@Column(name = "Password")
private String password;
@ManyToMany
(
fetch = FetchType.LAZY,
cascade = {
CascadeType.PERSIST,
CascadeType.MERGE
}
)
@JoinTable
(
name = "user_roles",
joinColumns = { @JoinColumn(name = "user_id", referencedColumnName = "id") },
inverseJoinColumns = { @JoinColumn(name = "role_id", referencedColumnName = "id") }
)
private Set<Role> roles = new HashSet<Role>(0);
//getters and setters....
}
Это Role
class:
@Entity
@Table(name = "role")
public class Role {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "id_sequence")
@SequenceGenerator(name = "id_sequence", sequenceName = "ID_SEQ")
private int id;
private String role;
@ManyToMany
(
fetch = FetchType.LAZY,
cascade = {
CascadeType.PERSIST,
CascadeType.MERGE
},
mappedBy = "roles"
)
private Set<User> users;
//getters and setters....
}
Когда я запускаю это приложение на сервере, я получаю следующую ошибку:
Эта ошибкаговорит, что таблица не существует, поэтому мне интересно, стоит ли создавать ее вручную (я так не думаю) или я что-то здесь упускаю?