gpt4 book ai didi

mysql - 未能延迟初始化角色集合 : could not initialize proxy - no Session

转载 作者:行者123 更新时间:2023-11-29 15:27:22 24 4
gpt4 key购买 nike

我在使用新的子实体更新父实体时遇到异常,

这是我的示例表

public class NavigationNode implements Serializable,Auditable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "NodeID")
private Long id;

@Embedded
private AuditSection auditSection = new AuditSection();

@Column(name = "Code", nullable = false, unique = true)
private String navCode;

@Column(name = "NodeTitle")
private String title;

@OneToMany(fetch=FetchType.LAZY, cascade = {CascadeType.PERSIST})
@JoinTable(name = "node2linkRel", joinColumns = { @JoinColumn(name = "NavigationNodeID") }, inverseJoinColumns = { @JoinColumn(name = "LinkID") })
private Collection<Link> links;

@ElementCollection
@OneToMany(fetch=FetchType.LAZY, orphanRemoval = true, cascade = {CascadeType.PERSIST} )
@JoinTable(name = "node2nodeRel", joinColumns = { @JoinColumn(name = "ParentID") }, inverseJoinColumns = { @JoinColumn(name = "ChildID") })
private Collection<NavigationNode> children;

@Column(name = "Visible")
private Boolean visible;

}

还有另一个名为 Link 的表

public class Link implements Serializable,Auditable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "LinkID")
private Long id;

@Embedded
private AuditSection auditSection = new AuditSection();

@Column(name = "LinkUrl")
private String url;

@Column(name = "linkName")
private String linkName;

@Column(name = "VisibleInMenu")
private Boolean visibleInMenu;

@ManyToOne(cascade = {CascadeType.PERSIST})
@JoinTable(name = "node2linkRel", joinColumns = { @JoinColumn(name = "LinkID") }, inverseJoinColumns = { @JoinColumn(name = "NavigationNodeID") })
private NavigationNode node;

}

在没有链接的情况下保存时,我收到上述错误。

failed to lazily initialize a collection of role: Navigation.links could not initialize proxy

我的要求是

  • 我可以创建一个包含可选子项和链接的 Navigaiton,使用可选子项和链接更新子项/父项。
  • 如果我删除导航节点,那么相关的子节点应该被删除,但我只想保留链接并删除导航和链接之间的关系。
  • 如果我尝试删除链接记录,则仅应删除导航和链接之间的关系。

我怎样才能实现这一点,这是正确的表配置吗?

此外,在删除链接或节点时,我遇到了另一个异常。

请提出建议。

谢谢

最佳答案

这是因为我在从数据库获取对象后尝试将新的对象列表分配给导航表中的链接。

我试图打破链接和导航之间的关系。为了实现此目的,我只需从导航表中的链接列表中删除链接并保存,以便这些实体之间的关系中断。

我的要求是,如果我尝试取消导航和链接之间的关系,则不要删除链接。

关于mysql - 未能延迟初始化角色集合 : <Relation Class>could not initialize proxy - no Session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58987693/

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