Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数据库不显示两个特定实体的关系-spring boot app_Java_Spring_Hibernate_H2_Bootstrapping - Fatal编程技术网

Java 数据库不显示两个特定实体的关系-spring boot app

Java 数据库不显示两个特定实体的关系-spring boot app,java,spring,hibernate,h2,bootstrapping,Java,Spring,Hibernate,H2,Bootstrapping,在这上面花了一天多的时间,却没有发现问题。我不需要完美的解决方案,只要给我指示就是问题所在。在那里我可以找到关于那件事的信息 我创建了一些实体,其中一些可以在下面找到(不是所有字段,只是此任务需要): 之后,我设置fetch=FetchType.EAGER。但在杰佩森足球俱乐部附近仍有超标现象。数据库中的关系可能有问题吗?请检查您的data.sql文件。创建表,但不插入数据。检查行尾的“;”。请检查data.sql文件。创建表,但不插入数据。检查行尾的“;”。我找到了这个问题的解决方案 首先,引

在这上面花了一天多的时间,却没有发现问题。我不需要完美的解决方案,只要给我指示就是问题所在。在那里我可以找到关于那件事的信息

我创建了一些实体,其中一些可以在下面找到(不是所有字段,只是此任务需要):


之后,我设置fetch=FetchType.EAGER。但在杰佩森足球俱乐部附近仍有超标现象。数据库中的关系可能有问题吗?

请检查您的data.sql文件。创建表,但不插入数据。检查行尾的“;”。

请检查data.sql文件。创建表,但不插入数据。检查行尾的“;”。

我找到了这个问题的解决方案

首先,引导类更新: 我将可选的和从data.sql加载少量od数据更改为在引导类中创建新的团队对象

Team jeppesenFootballTeam = new Team();
    jeppesenFootballTeam.setTeamName("Jeppesen Football Team");
    jeppesenFootballTeam.setPlayers(playersSetTwo);

    Team lufthansaFootballTeam = new Team();
    lufthansaFootballTeam.setTeamName("Lufthasna Football Team");
    lufthansaFootballTeam.setPlayers(playersSetOne);

    Set<Team> teamsSetOne = new HashSet<>();
    teamsSetOne.add(jeppesenFootballTeam);

    Set<Team> teamSetTwo = new HashSet<>();
    teamSetTwo.add(jeppesenFootballTeam);
    teamSetTwo.add(lufthansaFootballTeam);
Team jeppesenFootballTeam=新团队();
杰佩森足球队;
Jeppesenfootballsteam.setPlayers(playersSetTwo);
汉莎足球队=新队();
德国汉莎足球队;
汉莎足球队。赛特球员(球员赛特一);
Set teamsSetOne=new HashSet();
teamsSetOne.add(jeppesenfootballsteam);
Set teamSetTwo=新的HashSet();
teamSetTwo.add(jeppesenfootballsteam);
teamSetTwo.add(汉莎足球队);
“org.hibernate.LazyInitializationException”的第二个问题通过添加一个“fetch=FetchType.EAGER”到Player和Organizer类(我们使用可选类通过data.sql创建对象)的关系注释中得到解决

最后,我忘记了向父级添加级联类型的一件重要事情:

@ManyToMany(cascade = CascadeType.ALL)
    @JoinTable(name = "event_team",
            joinColumns = @JoinColumn(name = "event_id"),
            inverseJoinColumns = @JoinColumn(name = "team_id"))
    private Set<Team> teams = new HashSet<>();
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name=“事件团队”,
joinColumns=@JoinColumn(name=“event_id”),
inverseJoinColumns=@JoinColumn(name=“team_id”))
私有集合teams=newhashset();
我想补充一点,当我们想从data.sql加载一些数据时,会出现问题,另外,我们想在引导类中设置一些属性

Team jeppesenFootballTeam = new Team();
    jeppesenFootballTeam.setTeamName("Jeppesen Football Team");
    jeppesenFootballTeam.setPlayers(playersSetTwo);

    Team lufthansaFootballTeam = new Team();
    lufthansaFootballTeam.setTeamName("Lufthasna Football Team");
    lufthansaFootballTeam.setPlayers(playersSetOne);

    Set<Team> teamsSetOne = new HashSet<>();
    teamsSetOne.add(jeppesenFootballTeam);

    Set<Team> teamSetTwo = new HashSet<>();
    teamSetTwo.add(jeppesenFootballTeam);
    teamSetTwo.add(lufthansaFootballTeam);

这是我的问题的完整解决方案。我希望它能帮助别人,谢谢

我找到了解决这个问题的办法

首先,引导类更新: 我将可选的和从data.sql加载少量od数据更改为在引导类中创建新的团队对象

Team jeppesenFootballTeam = new Team();
    jeppesenFootballTeam.setTeamName("Jeppesen Football Team");
    jeppesenFootballTeam.setPlayers(playersSetTwo);

    Team lufthansaFootballTeam = new Team();
    lufthansaFootballTeam.setTeamName("Lufthasna Football Team");
    lufthansaFootballTeam.setPlayers(playersSetOne);

    Set<Team> teamsSetOne = new HashSet<>();
    teamsSetOne.add(jeppesenFootballTeam);

    Set<Team> teamSetTwo = new HashSet<>();
    teamSetTwo.add(jeppesenFootballTeam);
    teamSetTwo.add(lufthansaFootballTeam);
Team jeppesenFootballTeam=新团队();
杰佩森足球队;
Jeppesenfootballsteam.setPlayers(playersSetTwo);
汉莎足球队=新队();
德国汉莎足球队;
汉莎足球队。赛特球员(球员赛特一);
Set teamsSetOne=new HashSet();
teamsSetOne.add(jeppesenfootballsteam);
Set teamSetTwo=新的HashSet();
teamSetTwo.add(jeppesenfootballsteam);
teamSetTwo.add(汉莎足球队);
“org.hibernate.LazyInitializationException”的第二个问题通过添加一个“fetch=FetchType.EAGER”到Player和Organizer类(我们使用可选类通过data.sql创建对象)的关系注释中得到解决

最后,我忘记了向父级添加级联类型的一件重要事情:

@ManyToMany(cascade = CascadeType.ALL)
    @JoinTable(name = "event_team",
            joinColumns = @JoinColumn(name = "event_id"),
            inverseJoinColumns = @JoinColumn(name = "team_id"))
    private Set<Team> teams = new HashSet<>();
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name=“事件团队”,
joinColumns=@JoinColumn(name=“event_id”),
inverseJoinColumns=@JoinColumn(name=“team_id”))
私有集合teams=newhashset();
我想补充一点,当我们想从data.sql加载一些数据时,会出现问题,另外,我们想在引导类中设置一些属性

Team jeppesenFootballTeam = new Team();
    jeppesenFootballTeam.setTeamName("Jeppesen Football Team");
    jeppesenFootballTeam.setPlayers(playersSetTwo);

    Team lufthansaFootballTeam = new Team();
    lufthansaFootballTeam.setTeamName("Lufthasna Football Team");
    lufthansaFootballTeam.setPlayers(playersSetOne);

    Set<Team> teamsSetOne = new HashSet<>();
    teamsSetOne.add(jeppesenFootballTeam);

    Set<Team> teamSetTwo = new HashSet<>();
    teamSetTwo.add(jeppesenFootballTeam);
    teamSetTwo.add(lufthansaFootballTeam);
这是我的问题的完整解决方案。我希望它能帮助别人,谢谢