我要作出這樣的數據插入到我的數據庫的請求。表中有4列:ID_DOCUMENT(PK),ID_TASK,說明,FILEPATH如何在spring數據中插入db?
實體
...
@Column(name = "ID_TASK")
private Long idTask;
@Column(name = "DESCRIPTION")
private String description;
@Column(name = "FILEPATH")
private String filepath;
...
庫
@Modifying
@Query("insert into TaskDocumentEntity c (c.idTask, c.description, c.filepath) values (:id,:description,:filepath)")
public void insertDocumentByTaskId(@Param("id") Long id,@Param("description") String description,@Param("filepath") String filepath);
控制器
@RequestMapping(value = "/services/tasks/addDocument", method = RequestMethod.POST)
@ResponseBody
public void set(@RequestParam("idTask") Long idTask,@RequestParam("description") String description,@RequestParam("filepath") String filepath){
//TaskDocumentEntity document = new TaskDocumentEntity();
taskDocumentRepository.insertDocumentByTaskId(idTask,descriere,filepath);
}
當我運行我的測試,我得到這個錯誤: 引起:org.hibernate.hql.ast.QuerySyntaxException:期待OPEN,在第1行第32列附近找到'c'[插入到TaskDocumentEntity c(c.idTask ,c.descriere,c.filepath)值(:身份證,:descriere,:文件路徑)] 我試圖刪除別名℃,甚至不`噸的工作。
刪除你的'insertDocumentByTaskId'。在你的控制器創建的'TaskDocumentEntity'設置的屬性的實例,並調用'save'方法。 JPA的整點是,你不必再編寫查詢... –
請張貼的代碼資源庫類不僅在方法聲明,並發表您的春天配置類/ XML。 – dubonzi