【发布时间】:2019-10-30 04:34:02
【问题描述】:
我正在使用 Spring Boot 框架尝试一个非常基本的问题,其中我使用 JPA Repository 来实现一些基本功能,其中我使用 save 方法将 person 类的详细信息保存在内存数据库 H2 中,但是我发现 save 实际上并没有提交数据,因为在我反弹 spring-boot 应用程序后我无法检索详细信息。在弹跳之前和在同一个会话中,如果我尝试获取使用 save 方法保存的数据的详细信息,我可以检索这些详细信息。 请建议保存方法是否实际提交? 我试图在 application.properties 中添加一个属性,以确保每次都不会创建新记录。 spring.jpa.hibernate.ddl-auto=更新 但还是没有运气
实体类:-> 包 com.shubhmah.springbootapp.PersonDetails;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Data
@Entity
public class PersonDetails
{
@Id
@GeneratedValue
private Long id;
private String firstName;
private String middleName;
private String lastName;
private String dateOfBirth;
PersonDetails(){
}
PersonDetails(String firstName, String middleName, String lastName, String dateOfBirth){
this.firstName=firstName;
this.middleName= middleName;
this.lastName= lastName;
this.dateOfBirth=dateOfBirth;
}
}
存储库类:->
package com.shubhmah.springbootapp.PersonDetails;
import org.springframework.data.jpa.repository.JpaRepository;
interface PersonDetailsRepository extends JpaRepository<PersonDetails, Long> {
}
应用程序类:->
package com.shubhmah.springbootapp.PersonDetails;
import org.springframework.data.domain.Sort;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@RestController
public class PersonRestController {
protected List<PersonDetails> personDetails;
private final PersonDetailsRepository personDetailsRepository;
PersonRestController(PersonDetailsRepository pr){
this.personDetailsRepository= pr;
}
@PostMapping("/person/savePerson")
PersonDetails savePerson(@RequestBody PersonDetails personDetails){
return personDetailsRepository.save(personDetails);
}
@GetMapping("/person/getAllPerson")
protected List<PersonDetails> getPersons(){
personDetails = new ArrayList<>();
personDetails = personDetailsRepository.findAll();
return personDetails;
}
@GetMapping("/person/getSortedPerson")
protected List<PersonDetails> getSortedDetails(@RequestParam String sort){
return personDetailsRepository.findAll(Sort.by(sort));
}
}
【问题讨论】:
标签: hibernate spring-boot spring-mvc spring-data-jpa spring-data