多对多无效对象名称
我在代码中的Employee-Project之间创建了多对多关系,但是当我想使用它时抛出此exception:
com.microsoft.sqlserver.jdbc.SQLServerException:无效的对象名称’employee_project’。
我试过了,但是我没有成功找到这个exception的根本原因。 所以,请帮帮我。
以下是Employee和Project的POJO以及抛出此exception的代码
员工pojo:
@Entity @Table(name = "Employee") public class Employee { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "EMPLOYEE_ID_PK") private int employeeIdPk; @ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE }, mappedBy = "workers") private Collection projects = new HashSet(0); }
项目pojo:
@Entity @Table(name = "Project") public class Project { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "PROJECT_ID_PK") private int projectIdPk; @ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE }) @JoinTable(name = "EmployeeProject", joinColumns = { @JoinColumn(name = "PROJECT_ID_PK") }, inverseJoinColumns = { @JoinColumn(name = "EMPLOYEE_ID_PK") }) Collection workers = new HashSet(0); }
问题代码:
Project project = projectRepository.findByProjectIdPk(24); Collection employees = project.getWorkers();
我正在使用Spring Data Jpa和SQL Server。 : 这是我当前数据库的图片
所以,我自己解决了这个问题。 显然,如果我在@JoinTable(Employee_Project)
添加一个下划线,并在数据库中更改它的工作原理。
有人可以解释为什么我必须这样做吗?