我正在使用Spring数据jpa,我正在尝试这样做:
listen 80 default_server;
listen [::]:80 default_server;
但我收到了这个错误:
@RequestMapping(value = "/setview/{id}", method = RequestMethod.GET)
public Iterable<Task> setView(@PathVariable Integer id) {
System.out.println("setViewTrue -------------------");
Iterable<Task> tasks = taskRepository.findByUserId(id);
for (Task t : tasks) {
t.setView(true);
taskRepository.save(t);
System.out.println("task****: "+ t.isView());
}
return tasks;
}
这是我的Task.java:
[Ljava.lang.Object; cannot be cast to com.yess.erp.crm.domain.Task
i just want to loop an iterbale of tasks and change the value of a boolean(false) to true.
这是我的TaskRepository.java:
@Entity
public class Task implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@SequenceGenerator(name = "pk_sequence", sequenceName = "task_id_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "pk_sequence")
private Integer id;
@NotEmpty
private String title;
@Lob
private byte[] image;
private Date created_at;
private Date start_date;
private Date end_date;
private String description;
private boolean view;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false)
private User user;
public Task() {
}
public Task(String title, User user) {
super();
this.title = title;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public byte[] getImage() {
return image;
}
public void setImage(byte[] image) {
this.image = image;
}
public Date getStart_date() {
return start_date;
}
public void setStart_date(Date start_date) {
this.start_date = start_date;
}
public Date getEnd_date() {
return end_date;
}
public void setEnd_date(Date end_date) {
this.end_date = end_date;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Date getCreated_at() {
return created_at;
}
public void setCreated_at(Date created_at) {
this.created_at = created_at;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public boolean isView() {
return view;
}
public void setView(boolean view) {
this.view = view;
}
}
这是我的TaskController.java:
public interface TaskRepository extends CrudRepository<Task, Integer> {
@Query("from Task as t inner join t.user as u where u.id = :id AND t.view = false")
Iterable<Task> findByUserId(@Param("id") Integer id);
}
答案 0 :(得分:1)
您的查询不仅仅返回任务,它可能会返回Object []数组中的任务和用户。
您可以更改查询以恢复任务。我在想SELECT t FROM Task t
......