Spring Data JPA-for循环不保存实体

时间:2018-11-07 22:55:24

标签: java hibernate for-loop jpa spring-data-jpa

我正在尝试将多个字符串保存到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

我在这里做什么错了?

1 个答案:

答案 0 :(得分:1)

当您在Java端替换String时,为什么JPA会在列中附加entity.setPersonpropertyname(app.getPersonpropertyname());

如果要将它们附加在列中,则还需要将它们附加在Java端。 替换

entity.setPersonpropertyname(entity.getPersonpropertyname() + app.getPersonpropertyname());

使用

row_number()

应该可以解决问题。