繁体   English   中英

Spring Boot CrudRepository保存错误数据

[英]Spring boot CrudRepository saves bad data

我在DB中保存数据时遇到问题.Spring Boot是我的新手。 当我运行程序时,写入数据的结果是:packagename @ randomcode示例: com.abc.patient.Patient@6e3e681e

这是我的Entity类-Patient.java

@Entity
public class Patient {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    private String name;

    // getter, setter, constructor, etc
}

这是我的CrudRepo PatientRepository.java

public interface PatientRepository extends CrudRepository<Patient,Integer> {
}

这是我的Service类PatientService.java

@Service
public class PatientService {

    @Autowired
    private PatientRepository patientRepository;

    public void savePatient (String name) {
        Patient patient = new Patient(name);
        patientRepository.save(patient);
    }

    public Optional<Patient> showPatient(int id) {
        return patientRepository.findById(id);
    }

    public List<Patient> showAllPatients() {
        List<Patient> patients = new ArrayList<>();
        patientRepository.findAll().forEach(patients::add);
        return patients;
    }
}

我认为这一行的savePatient方法中存在该问题:

Patient patients = new Patient(name);

我检查了"name"参数,它使用100%正确的字符串。 我正在使用Derby DB。

尝试:

public void savePatient(Patient patient) {
    patientRepository.save(patient);
}

您唯一的问题是如何打印“ Patient课程。 定义一个适当的toString()或调试自己以查看结果字段。 您的JPA实施没有问题。

有关默认toString的详细信息,请参见此问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM