Java 使用sqlwon';不显示我的员工项目数据库
我正在创建一个项目管理应用程序,在h2控制台中,我可以查看我的employee_数据库、project_数据库,但不能查看employee_项目数据库。我使用的是data.sql文件,出于某种原因,在MySQL workbench中列出project_数据库行的sql文件旁边有一个红色的x,但当我在eclipse中打开它时,没有红色的x。我很确定这就是为什么它没有出现在h2控制台上的原因,但是在网上进行了大量研究之后,我找不到解决方案。我仍在试图解决它,但如果有一个简单的方法来解决这个我完全忽略了,那么请让我知道。我附上了我的代码截图。我感谢你的时间和精力 这是我的employee.java文件project.java和我的主ProjectManagementApplication.java文件。Java 使用sqlwon';不显示我的员工项目数据库,java,sql,seeding,h2-console,Java,Sql,Seeding,H2 Console,我正在创建一个项目管理应用程序,在h2控制台中,我可以查看我的employee_数据库、project_数据库,但不能查看employee_项目数据库。我使用的是data.sql文件,出于某种原因,在MySQL workbench中列出project_数据库行的sql文件旁边有一个红色的x,但当我在eclipse中打开它时,没有红色的x。我很确定这就是为什么它没有出现在h2控制台上的原因,但是在网上进行了大量研究之后,我找不到解决方案。我仍在试图解决它,但如果有一个简单的方法来解决这个我完全忽略
package com.jrp.pma.entities;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
@Entity
public class Employee {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long employeeId;
private String firstName;
private String lastName;
private String email;
@ManyToMany(cascade = {CascadeType.DETACH, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.PERSIST},
fetch = FetchType.LAZY)
@JoinTable(name="project_employee",
joinColumns=@JoinColumn(name="employee_id"),
inverseJoinColumns = @JoinColumn(name="project_id"))
private List<Project> projects;
public Employee() {
}
public Employee(String firstName, String lastName, String email) {
super();
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
}
public long getEmployeeId() {
return employeeId;
}
public List<Project> getProjects() {
return projects;
}
public void setProjects(List<Project> projects) {
this.projects = projects;
}
public void setEmployeeId(long employeeId) {
this.employeeId = employeeId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
最后,这里是我的h2控制台的屏幕截图,它没有显示project_员工数据库。再次感谢您的时间和努力强>
“出于某种原因,在MySQL workbench中,我列出项目数据库行的SQL文件旁边有一个红色的x”。这是因为在那些
insert
行中缺少关键字value
。其他insert
语句之所以有效,是因为它们有关键字值!成功了!谢谢你的帮助!
package com.jrp.pma.entities;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
@Entity
public class Project {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long projectId;
private String name;
private String stage;//NOT STARTED,IN PROGRESS, COMPLETED
private String description;
@ManyToMany(cascade = {CascadeType.DETACH, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.PERSIST},
fetch = FetchType.LAZY)
@JoinTable(name="project_employee",
joinColumns=@JoinColumn(name="project_id"),
inverseJoinColumns = @JoinColumn(name="employee_id"))
private List<Employee> employees;
public Project() {
}
public List<Employee> getEmployees() {
return employees;
}
public void setEmployees(List<Employee> employees) {
this.employees = employees;
}
public Project(String name, String stage, String description) {
super();
this.name = name;
this.stage = stage;
this.description = description;
}
public long getProjectId() {
return projectId;
}
public void setProjectId(long projectId) {
this.projectId = projectId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStage() {
return stage;
}
public void setStage(String stage) {
this.stage = stage;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
//convenience method
public void addEmployee(Employee emp) {
if(employees == null) {
employees = new ArrayList<>();
}
employees.add(emp);
}
}
package com.jrp.pma;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.jrp.pma.dao.EmployeeRepository;
import com.jrp.pma.dao.ProjectRepository;
@SpringBootApplication
public class ProjectManagementApplication {
@Autowired
EmployeeRepository empRepo;
@Autowired
ProjectRepository projRepo;
public static void main(String[] args) {
SpringApplication.run(ProjectManagementApplication.class, args);
}
}