Task.java나는 @OneToMany도 양방향 @ManyToOne
@Entity
@Table(name = "t_task")
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "idTask")
private long idTask;
...
@OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.ALL}, mappedBy = "task")
private List<TaskAction> actions;
...
public Task() {}
public Task(String taskname, String description, Date date,
Category category, Priority priority, User user) {
this.taskname = taskname;
this.description = description;
this.date = new Date((date.getTime()/1000) * 1000);
this.deadline = null;// new Date((deadline.getTime()/1000)*1000);
this.category = category;
this.priority = priority;
this.user = user;
this.userResponsible = null;
}
public Task(String taskname, String description, Date date, Date deadline,
Category category, Priority priority, State state, User user,
User userResponsible, String evaluation, int pending) {
this.taskname = taskname;
this.description = description;
this.date = new Date((date.getTime()/1000) * 1000);// delete milis
this.deadline = new Date((deadline.getTime()/1000) * 1000);
this.category = category;
this.priority = priority;
this.state = state;
this.user = user;
this.userResponsible = userResponsible;
this.evaluation = evaluation;
this.pending = pending;
}
TaskAction.java
@Entity
@Table(name = "t_taskaction")
public class TaskAction {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "idTaskAction")
private long idTaskAction;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "idTask", nullable = false)
private Task task;
...
public TaskAction() {
}
public TaskAction(Task task, Date date, String action, String description,
User user) {
this.task = task;
this.date = new Date((date.getTime()/1000) * 1000);
this.actionname = action;
this.description = description;
this.user = user;
}
Test.java
@Test
public void testTaskActionCreate() {
taskPriorityDao.saveOrUpdate(priority);
taskCategoryDao.saveOrUpdate(category);
taskStateDao.saveOrUpdate(state);
userDao.saveOrUpdate(user);
Date rightnow = Calendar.getInstance().getTime();
Task t1 = new Task("My first task", "This is a task", rightnow,
rightnow, category, priority, state, user, user, "okey", 0);
taskDao.merge(t1);//save
t1 = taskDao.get("My first task");
logger.info("id Task >" + t1.getIdTask());
TaskAction ta1 = new TaskAction(t1, rightnow, "Task action 1",
"Task action 1 description", user);
TaskAction ta2 = new TaskAction(t1, rightnow, "Task action 2",
"Task action 2 description", user);
TaskAction ta3 = new TaskAction(t1, rightnow, "Task action 3",
"Task action 3 description", user);
TaskAction ta4 = new TaskAction(t1, rightnow, "Task action 4",
"Task action 4 description", user);
taskActionDao.saveOrUpdate(ta1);
taskActionDao.saveOrUpdate(ta2);
taskActionDao.saveOrUpdate(ta3);
taskActionDao.saveOrUpdate(ta4);
System.out.println(" 1 >" + new TaskActionService().getAllTaskActions().size());
System.out.println(" 2 >" + t1.getActions().size());
를 표시 할 수 없습니다 행이 데이터베이스에 삽입 되었음에도 불구하고 이러한 메시지가 나타납니다.
1> NullPointerException이
2> 빈리스트, 크기 = 0
데이터 모델
이름을 인식하지 못합니다 알고'의회 처리가 struts'에서'액션 클래스를 나타내는 데 사용됩니다, 그것의 잘못된 관행은 엔티티 연습을 이름의이 유형을 따르도록 수업. 앞으로 올바른지 ... – Dileep