Я новичок в использовании Spring и Hibernate.Я хочу создать базу данных в соответствии с этой схемой
Учащийся, класс и школа являются юридическими лицами.Существуют отношения Studies_in (между Student и Class - один к одному, с student_id и class_id в качестве внешних ключей) и own_to (между Class и School - многие к одному, с class_id и school_id в качестве внешних ключей).
Метод 1:
У меня может быть класс Student следующим образом:
@Entity
@Table(name="student")
public class Student {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name="id")
private int id;
...
@OneToOne
@JoinColumn(name="class_id")
private Class class;
...
}
И аналогично для класса.
Метод 2:
Это правильный способ сделать это или я должен представлять отношения в виде таблиц, создавая их с помощью SQL-запросов следующим образом:
create table studies_in(student_id int, class_id int,
primary key(student_id,class_id),
foreign key(student_id) references student(id),
foreign key(class_id) references class(id));
И затем создайте класс дляStudies_in.
В предыдущем методе связь существует на уровне приложения, тогда как в этом методе она существует физически в базе данных.Мне кажется, что второй подход лучше, поскольку база данных будет нормализована, но я не знаю, как реализовать это весной.
Пожалуйста, исправьте меня, если я ошибаюсь.
Какпродолжить с этим?