我正在尝试将多个字符串保存到MySQL DB的一栏中。将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);
}
只有最后一个值会从Person的先前姓名中保存。
Sysout:
SpiderMan
Spidey
列中的期望值:
SpiderManSpidey
列中的实际值:
Spidey
我在这里做什么错了?
答案 0 :(得分:1)
当您在Java端替换String
时,为什么JPA会在列中附加entity.setPersonpropertyname(app.getPersonpropertyname());
?
如果要将它们附加在列中,则还需要将它们附加在Java端。 替换
entity.setPersonpropertyname(entity.getPersonpropertyname() + app.getPersonpropertyname());
使用
row_number()
应该可以解决问题。