Ich schreibe erste App mit Frühling und überwintern Ich habe ein Problem mit vielen zu vielen Beziehung. Wenn ich Code ausführe, gibt es mir einen Fehler: Spalte subject0_subject_name existiert nicht. Es ist sehr seltsam für mich, weil mein Tisch subject nicht subject0 heißt. Im Folgenden Code meiner "Klasse" KlasseViele zu viele Beziehung "Spalte existiert nicht" Hibernate & Springboot
@Entity
public class Class {
@NotNull
@Id
@Column(name = "class_name")
private String name;
@Column(name = "start_year")
private int startYear;
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "Class_has_Subject", joinColumns = {@JoinColumn(name = "class_name")}, inverseJoinColumns = {@JoinColumn(name = "subject_name")})
private Set<Subject> subject = new HashSet<Subject>(0);
public Set<Subject> getSubject() {
return this.subject;
}
public void setSubject(Set<Subject> subject) {
this.subject = subject;
}
public int getStartYear() {
return startYear;
}
public void setStartYear(int startYear) {
this.startYear = startYear;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Class() {
}
}
Gegenstand Klasse:
@Entity(name = "subject")
public class Subject {
@NotNull
@Id
@Column(name = "subject_name")
private String name;
@Column(name = "teacher")
private String teacher;
public Subject(String name, String teacher) {
this.name = name;
this.teacher = teacher;
}
public Subject() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTeacher() {
return teacher;
}
public void setTeacher(String teacher) {
this.teacher = teacher;
}
}
ClassRepository Schnittstelle:
public interface ClassRepository extends CrudRepository<Class,String> {
List<Class> findByName(String name);
}
Classcontroller Klasse:
@Controller
@EnableAutoConfiguration
public class ClassController {
@Autowired
ClassRepository repo;
@RequestMapping(value = "/class/get/{name}/", method = RequestMethod.GET)
@ResponseBody
public Set<Subject> getClass(@PathVariable String name) {
Class a= repo.findByName(name).get(0);
System.out.println(a.getStartYear());
Set<Subject> s=a.getSubject();
return s;
}
mehr Erklärung braucht. –
geben Sie uns sql generiert durch überwintern –
Können Sie mir sagen, wie das geht? – neir45