【发布时间】:2018-05-11 16:00:03
【问题描述】:
我在尝试调用 DELETE api 时收到 A JTA EntityManager cannot use getTransaction() 错误。不确定,如果我缺少任何与 JPA 相关的配置。
Questionnarie.java #
@Entity
@Table(name = "questionnaries")
public class Questionnarie {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="id_seq")
@SequenceGenerator(name = "id_seq", sequenceName="questionnaries_id_seq")
@Column(name = "id")
private Long id;
@Column(name = "personname")
@NotNull
private String personname;
@Column(name = "question")
@NotNull
private String question;
@Column(name = "response")
@NotNull
private String response;
public Questionnarie() {}
public Questionnarie(@NotNull String personname, @NotNull String question, @NotNull String response) {
super();
this.personname = personname;
this.question = question;
this.response = response;
}
/* Not including GETTERS AND SETTERS for brevity */
QuestionnarieController.java #
@RequestMapping(method=RequestMethod.DELETE, value="/questionnaries/{id}")
public void deleteQuestionnarie(@PathVariable Long id){
questionnarieService.deleteQuestionnarie(id);
}
QuestionnarieService.java
public void deleteQuestionnarie(Long id) {
questionnarieRepository.deleteById(id);
}
QuestionnarieRepository.java #
public void deleteById(Long id);
application.properties
spring.datasource.jndi-name=java:jboss/datasources/testDS
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
【问题讨论】:
标签: java spring hibernate spring-boot jpa