У меня небольшой проект с Spring Data, MVC и Web Flow.Также у меня есть 2 сущности, которые я использую в Spring Web Flow, поэтому они ДОЛЖНЫ реализовывать интерфейс Serializable, но я заметил, что Hibernate не создает таблицы, которые его реализуют, для проверки я просто скопировал свою сущность, удалил «реализует Serializable», созданныйновый класс и вставил код сущности туда, новая таблица была создана.Как это устроено ?Как создать таблицу из сущности, реализующей Serializable, возможно ли это вообще?
Код сущностей:
@Table(name = "users")
@Entity
public class User implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "idUsers")
private int id;
@Column(name = "login")
@Size(min = 3, max = 15,message = "Неправильний розмір")
@NotEmpty(message = "Не може бути пустим!")
private String login;
@Size(min = 6, max = 21,message = "Неправильний розмір")
@NotEmpty(message = "Не може бути пустим!")
@Column(name = "password")
private String password;
@NotNull(message = "Не може бути пустим!")
@Column(name = "email")
private String email;
@Column(name = "photo")
private String path;
@Column(name = "about")
private String about;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@OneToMany(
fetch = FetchType.EAGER,
mappedBy = "user",
cascade = CascadeType.ALL,
orphanRemoval = true
)
private Set<CommentsToBook> commentsToBooks;
public Set<CommentsToBook> getCommentsToBooks() {
return commentsToBooks;
}
public void setCommentsToBooks(Set<CommentsToBook> commentsToBooks) {
this.commentsToBooks = commentsToBooks;
}
public Set<BookOrder> getOrders() {
return orders;
}
public void setOrders(Set<BookOrder> orders) {
this.orders = orders;
}
@OneToMany(
fetch = FetchType.EAGER,
mappedBy = "user",
cascade = CascadeType.ALL,
orphanRemoval = true
)
private Set<BookOrder> orders;
public String getPath() {
return path;
}
public String getAbout() {
return about;
}
public void setAbout(String about) {
this.about = about;
}
public void setPath(String path) {
this.path = path;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
И второй:
@Entity
@Table(name = "booook_order")
public class BookOrder implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private int id;
@Column(name = "bank_card")
private String bankCardId;
@Column(name = "user_name")
private String custName;
public User getUser() {
return user;
}
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinTable(name = "book", joinColumns = {
@JoinColumn(name = "id")
},inverseJoinColumns = {@JoinColumn(name = "idlibrary")})
private Set<Book> booksList;
@Column(name ="novaposhta-vid")
private String NPVid;
public String getNPVid() {
return NPVid;
}
public void setNPVid(String NPVid) {
this.NPVid = NPVid;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
@Column(name = "city")
private String city;
public void setUser(User user) {
this.user = user;
}
@ManyToOne(cascade = CascadeType.ALL,
fetch = FetchType.EAGER)
@JoinColumn(name = "idUsers")
private User user;
public String getCustName() {
return custName;
}
public void setCustName(String custName) {
this.custName = custName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Set<Book> getBooksList() {
return booksList;
}
public void setBooksList(Set<Book> booksList) {
this.booksList = booksList;
}
public String getBankCardId() {
return bankCardId;
}
public void setBankCardId(String bankCardId) {
this.bankCardId = bankCardId;
}
}