有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java组织。springframework。豆。工厂使用来自singleton的同一对象时的BeanCreationException

我基于Springboot编写服务器。我有MonsterFactory,其中我有MonsterType个对象,其中MonsterType是entity

public class MonsterFactory {

    public static final MonsterFactory INSTANCE = new MonsterFactory();
    private Map<String,MonsterType> monsterTypesMap = new HashMap<>();

    private MonsterFactory(){
        monsterTypesMap.put("Fire Golem", new MonsterType("Fire Golem","Opis",
            new MonsterStats(100,40,30,10),"/jakis/path"));
        monsterTypesMap.put("Bat", new MonsterType("Bat", "Opis 2",
            new MonsterStats(50,20,30,40),"/jakis/path2"));
    }

    public Monster create(final String name, Location location){
        MonsterType monsterType = monsterTypesMap.get(name);
        if(monsterType == null)
            throw new UnsupportedOperationException("unknown monster type");
        return new Monster(monsterType,location);
   }
}

现在,当我想向我的MonsterRepostory monsters添加一些怪物对象时,如下所示:

monsters.save(MonsterFactory.create("Fire Golem", new Location(40,80));
monsters.save(MonsterFactory.create("Fire Golem", new Location(50, 80));

我得到了org.springframework.beans.factory.BeanCreationException

我使用相同的MonsterType对象实例来创建两个不同的怪物,这是个问题吗?我刚进入春季和冬眠期,不知道问题从何而来

编辑: 好的,我发现我得到了嵌套异常:org.springframework.dao.InvalidDataAccessApiUsageException: detached entity passed to persist


共 (0) 个答案