我正在尝试将多个字符串保存到 MySQL 数据库的一列中。将 Spring Data JPA 与 Hibernate 结合使用。
我的 PersonserviceImpl
为
@Override
public void createnewPerson(AppPerson appPerson) {
List<AppPersonproperty> personProperties = personpropertyRepository
.findByPersonid(appPerson.getAppPersontype().getId());
for (AppPersonproperty app : personProperties) {
System.out.println(app.getPersonpropertyname());
entity.setPersonpropertyname(app.getPersonpropertyname());
}
personRepository.save(entity);
}
只有最后一个值会从人员以前的姓名中保存。
系统输出:
SpiderMan
Spidey
列中的预期值:
SpiderManSpidey
该列中的实际值:
Spidey
我在这里做错了什么?
最佳答案
当您在 Java 端替换字符串时,为什么 JPA 会在列中附加 String
?
如果您希望将它们附加到列中,您还需要将它们附加到 Java 端。 更换
entity.setPersonpropertyname(app.getPersonpropertyname());
与
entity.setPersonpropertyname(entity.getPersonpropertyname() + app.getPersonpropertyname());
应该可以解决问题。
关于java - Spring Data JPA - for循环不保存实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53199151/