【发布时间】:2020-05-31 06:13:40
【问题描述】:
我有两个实体。一个是 UserEntity,另一个是 TaskEntity。
@Entity
@Table(name="user")
public class UserEntity {
@Id
private String userEmail;
private String password;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name="user_email")
private List<TaskEntity> tasks;
//getter setter for variables
}
@Entity
@Table(name="task")
public class TaskEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private String description;
private String statusDate;
private String status;
//getter setter for variables
}
现在我想创建一个基于 userEmail 的新任务,所以我在 DAO 类中这样做:
@PersistenceContext
EntityManager em;
public Integer addNewTaskByUserEmail(Task task, String userEmail) {
UserEntity userEntity = em.find(UserEntity.class, userEmail);
TaskEntity taskEntity = new TaskEntity();
taskEntity.setName(task.getName());
taskEntity.setDescription(task.getDescription());
taskEntity.setStatus(task.getStatus());
taskEntity.setStatusDate(task.getDate());
userEntity.getTasks().add(taskEntity);
return taskEntity.getId();
}
但是在我的服务类中我得到 null 的返回语句中。如何返回自动生成的 taskId?
【问题讨论】:
标签: java hibernate spring-boot spring-data-jpa one-to-many