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

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

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

相关文章:

java - DESFire认证解密

java - 如何创建新的透明位图?

java - 使用Java的广播监听器?

java - Hibernate 可审计的多对多关系

Python for 循环跳过所有其他值

java - 将 Hibernate 配置放在不同的位置

java - Hibernate:必须声明元素类型 "hibernate-configuration"。无迁移

java - 无法从实体类 Hibernate 4.2.7 Websphere 8.5.5 oracle 11g 创建表

javascript - for 循环仅适用于最后一项

javascript - 如何使用切换按钮根据单击哪个按钮显示元素?