gpt4 book ai didi

spring-data-jdbc - 嵌套数据结构与 Spring Data JDBC

转载 作者:行者123 更新时间:2023-12-03 21:18:09 27 4
gpt4 key购买 nike

我想创建一个嵌套的数据结构。
Entity1包含类型 Entity2 的对象存储在 Map 中。 Entity2应该包含 Entity3 的对象映射.

第一部分,Entity1Entity工作正常。当我添加 Entity3 ,发生异常。

当我执行一个简单的测试时,发生了以下异常:

java.lang.IllegalArgumentException: Target bean of type org.springframework.data.util.Pair is not of type of the persistent entity (org.hameister.filmwatcher.nested.Entity2)!:org.springframework.data.util.Pair


    package org.hameister.nested;

import org.springframework.data.annotation.Id;

import java.util.HashMap;
import java.util.Map;

public class Entity1 {
@Id
long id;

String name1;

Map<String, Entity2> bMap = new HashMap<>();

public Entity1() {
}

public Entity1(String name1) {
this.name1 = name1;
}

public void setId(Long id) {
this.id = id;
}

public void addElement(Entity2 entity2) {
bMap.put(entity2.name2, entity2);
}

}
Entity2 :
package org.hameister.nested;

import org.springframework.data.annotation.Id;

import java.util.HashMap;
import java.util.Map;

public class Entity2 {
@Id
long id;
String name2;

// Map<String,Entity3> map = new HashMap<>();

public Entity2() {
}

public Entity2(String name2) {
this.name2 = name2;
}

// public void addElement(Entity3 entity3) {
// map.put(entity3.name3, entity3);
// }

public void setId(Long id) {
this.id = id;
}
}
Entity3 :
package org.hameister.nested;

import org.springframework.data.annotation.Id;

public class Entity3 {

@Id
long id;
String name3;

public Entity3(String name3) {
this.name3 = name3;
}

public void setId(Long id) {
this.id = id;
}
}

当我添加另一个类时 Entity3应该存储在 Entity2在 map 中,这不起作用。当我执行一个简单的测试时,发生了以下异常:

java.lang.IllegalArgumentException: Target bean of type org.springframework.data.util.Pair is not of type of the persistent entity (org.hameister.filmwatcher.nested.Entity2)!: org.springframework.data.util.Pair



要重现异常,请删除类中的双斜杠 Entity2 .和测试中的双斜线 NestedTest .

这是测试:
package org.hameister.nested;

import org.hameister.nested.Entity1;
import org.hameister.nested.Entity2;
import org.hameister.nested.Entity3;
import org.hameister.nested.Repository1;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.data.jdbc.DataJdbcTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@DataJdbcTest
public class NestedTest {

@Autowired
Repository1 repository1;

@Test
public void testA() {

Entity1 entity1 = new Entity1("Entity1");
Entity2 entity2 = new Entity2("Entity2");
Entity3 entity3 = new Entity3("Entity3");
entity1.addElement(entity2);
// entity2.addElement(entity3);
repository1.save(entity1);


}
}

完整的源代码可以在 here找到.

最佳答案

要从评论和问题跟踪器中收集信息:
这是当时的一个错误,但自 1.1.4 版以来已修复。
我仍然有人在当前版本中看到这个,请创建一张票。

关于spring-data-jdbc - 嵌套数据结构与 Spring Data JDBC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53176891/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com