I have 2 model classes: Project and Task. They have a one-to-many relationship; that is, one Project can have many Tasks and one Task has only one Project.
Project class:
@Entity
@Table(name = "project")
public class Project implements Serializable{
private int project_id;
private int manager_id;
private String name;
private String description;
private Set<Task> Projects = new HashSet<Task>();
@Id
@Column(name = "project_id")
public int getProject_id() {
return project_id;
}
@Column(name = "manager_id")
public int getManager_id() {
return manager_id;
}
@Column(name = "name")
public String getName() {
return name;
}
@Column(name = "description")
public String getDescription() {
return description;
}
public void setProject_id(int project_id) {
this.project_id = project_id;
}
public void setManager_id(int manager_id) {
this.manager_id = manager_id;
}
public void setName(String name) {
this.name = name;
}
public void setDescription(String description) {
this.description = description;
}
@OneToMany(fetch = FetchType.EAGER, mappedBy = "project", cascade = CascadeType.ALL)
public Set<Task> getProjects() {
return Projects;
}
public void setProjects(Set<Task> Projects) {
this.Projects = Projects;
}
}
Task class:
@Entity
@Table(name = "task")
public class Task implements Serializable {
private int task_id;
private Project project;
private int developer_id;
private String date ;
private String hours;
private String description;
private String overtime;
@Id
@Column(name = "task_id")
public int getTask_id() {
return task_id;
}
@Column(name = "developer_id")
public int getDeveloper_id() {
return developer_id;
}
@Column(name = "date")
public String getDate() {
return date;
}
@Column(name = "hours")
public String getHours() {
return hours;
}
@Column(name = "description")
public String getDescription() {
return description;
}
@Column(name = "overtime")
public String getOvertime() {
return overtime;
}
public void setTask_id(int task_id) {
this.task_id = task_id;
}
public void setDeveloper_id(int developer_id) {
this.developer_id = developer_id;
}
public void setDate(String date) {
this.date = date;
}
public void setHours(String hours) {
this.hours = hours;
}
public void setDescription(String description) {
this.description = description;
}
public void setOvertime(String overtime) {
this.overtime = overtime;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "project_id")
public Project getProject() {
return project;
}
public void setProject(Project project) {
this.project = project;
}
}
I have used a one-to-many relationship in Hibernate to get a JSON output, but I get the following error:
SyntaxError: JSON.parse: expected ':' after property name in object at line 1 column 81390 of the JSON data
Also there is a huge data set in raw data.