Иностранный ключ (департамент_ид) не найден с помощью JPA Spring [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Иностранный ключ (департамент_ид) не найден с помощью JPA Spring [закрыто]

Сообщение Anonymous »

Почему этот столбец не найден (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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»