java - Spring boot CrudRepository 保存坏数据
问题描述
我在 DB 中保存数据时遇到问题。我是 Spring Boot 的新手。当我运行我的程序时,写入数据的结果是:packagename@randomcode 示例:com.abc.patient.Patient@6e3e681e
这是我的实体类 - 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> {
}
这是我的服务类 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);
}
推荐阅读
- sql - 多个标准的案例陈述
- python - Python - 无法使用 XLRD 模块读取 xlsx 表
- neo4j - 如何将 neo4j 从 2.2.9 升级到 3.4.0?
- python - Keras model.predict 函数给出输入形状错误
- android - 为什么我无法在 Android 中的两个 Fragment 之间切换
- c# - 在导航页面之间移动时应用程序冻结
- output - rstan 如何为单独的链存储后验样本?
- matlab - 多变量梯度下降Matlab - 这两个代码有什么区别?
- python-3.x - ValueError:要解包的值太多(预期为 4),但有四个
- vue.js - 如何从 JS 控制台访问 Vue 组件中的变量?