Почему этот столбец не найден (SQL Exception) при выполнении последнего запроса в репо (выберите Студент по ключам Forign Department_ID) < /p>
Clact Class < /p>
package com.global.student.entity;
import java.util.List;
import com.global.student.entity.enums.Gender;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.JoinTable;
import jakarta.persistence.ManyToMany;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
@Entity
@Table(name = "students")
public class Student {
@Id
@Column(name = "std_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
private String age;
@Enumerated(EnumType.STRING)
private Gender gender;
private String phoneNumber;
private String address;
@ManyToOne(cascade = {CascadeType.ALL},
fetch = FetchType.EAGER)
@JoinColumn(name = "department_id")
private Department department;
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "StudentRegisterCourses",
joinColumns = @JoinColumn(name = "student_id"),
inverseJoinColumns = @JoinColumn(name = "course_id"))
List courses;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public Gender getGender() {
return gender;
}
public void setGender(Gender gender) {
this.gender = gender;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
public List getCourses() {
return courses;
}
public void setCourses(List courses) {
this.courses = courses;
}
}
< /code>
rebo Student < /p>
package com.global.student.repo;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import com.global.student.StStaticProjection;
import com.global.student.entity.Student;
@Repository
public interface StudentRepo extends JpaRepository {
//Derived Query -->> generate by track the naming convention
// List findByNameContainingAndDepartmentName(String studentName, String departmentName);
//
// Long countByNameContainingAndDepartmentName(String studentName, String departmentName);
//
// @Modifying
// @Transactional()
// Long deleteByNameContainingAndDepartmentName(String studentName, String departmentName);
//
//
// // Named Query (JPQL)
//
// @Query(value = "select std from Student std where std.department.name = :name")
// List findByDepartmentName(String name);
//
// @Query(value = "select std from Student std where std.department.name = "
// + ":departmentName and std.name like :name")
// List findByDepartmentAndContainingName(String name, String departmentName);
//
// @Query(value = "select count(id) from Student std where std.department.name =:departmentName")
// Long countStudnetOfDepartment(@Param("departmentName") String name);
//
// Native Query
//-- student - register course and in dept
// @Query(value = "select st.std_id, st.name, st.age, st.email, st.phone_number, st.address, st.gender"
// + " from students st "
// + " join departments dt on st.department_id = dt.dept_id "
// + " join student_register_courses sc on st.std_id = sc.student_id "
// + " join courses c on c.course_id = sc.course_id "
// + " where dt.dept_id = :deptId and c.course_id = :courseId ", nativeQuery = true)
// List findStudentByDepartmentAndCourse(@Param("deptId") Long deptId,@Param("courseId") Long courseId);
//
// custom query execute by Projection
//
// @Query(value = "SELECT st.std_id as StId, st.name as StName"
// + ", st.age as StAge, st.email as StEmail, "
// + "st.phone_number as StPhoneNumber "
// + " FROM students st where st.std_id in "
// + "(select sc.student_id from student_register_courses sc "
// + "where sc.course_id = :courseId )", nativeQuery = true)
// List findStudentByCourse(@Param("courseId") Long courseId);
//
@Query(value = "select std.std_id, std.email, std.address, std.age, "
+ "std.gender, std.phone_number from students std "
+ "where std.department_id = :deptId", nativeQuery = true)
List findStudentByDepartmentId(@Param("deptId") Long deptId);
//-- student -- name is and in dept
//-- student -- name is and register course
}
< /code>
ошибка
forign-ключ, не найденной с JPA в Spring < /p>
2M2025-06-05T16:12:26,788++03:00 Затем [31merror [0; 39m [35M17272 [0; 39M [2merror. [NIO-8080-EXEC-3] [0; 39M [36MO.H.ENGINE.JDBC.SPI.SQLEXCEPTIONSHELPER [0; 39M [2M: [0; 39M Column 'Department_ID' не найден. [31 MERROR [0; 39M [35M17272 [0; 39M [2M --- [Simple-Student-API] [NIO-8080-EXEC-3] [0; 39M [36MO.A.C.C.C. [DispatcherServlet] В контексте с путем [] бросал исключение [не удалась обработка запроса: org.springframework.dao.invaliddataaccessresourceUsageException: невозможно найти позицию столбца по имени: Департамент_ид [Departs_id 'не найден.] [n/a]; Sql [n/a]] с основной причиной
Java.sql.sqlsyntaxErrorexception: Column 'Department_id' не найден.
Подробнее здесь: https://stackoverflow.com/questions/796 ... jpa-spring
Иностранный ключ (департамент_ид) не найден с помощью JPA Spring [закрыто] ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Композитный ключ JPA, содержащий иностранный ключ со DB-сгенерированным значением
Anonymous » » в форуме JAVA - 0 Ответы
- 22 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Композитный ключ JPA, содержащий иностранный ключ со DB-сгенерированным значением
Anonymous » » в форуме JAVA - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-