Java 休眠列表删除记录

Java 休眠列表删除记录,java,hibernate,Java,Hibernate,我在hibernate中有一个多对多映射,当我急切地获取记录时,似乎没有问题,但是当我尝试使用FetchType.lazy时,它似乎删除了映射。我正在使用criteria.list()获取记录,并且它有分页功能 @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = "PanicOperNotificationList", joinColumns = { @JoinColumn(name = "panicOperNotificationId"

我在hibernate中有一个多对多映射,当我急切地获取记录时,似乎没有问题,但是当我尝试使用FetchType.lazy时,它似乎删除了映射。我正在使用criteria.list()获取记录,并且它有分页功能

@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "PanicOperNotificationList",  joinColumns = { @JoinColumn(name = "panicOperNotificationId",insertable = false,nullable = false,updatable = false) },
        inverseJoinColumns = { @JoinColumn(name = "panicNotificationListId",insertable = false,nullable = false,updatable=false) })
private Set<PanicNotificationList> notificationLists = new HashSet<>();
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name=“PanicOperNotificationList”,joinColumns={@JoinColumn(name=“panicOperNotificationId”,insertable=false,nullable=false,updateable=false)},
inverseJoinColumns={@JoinColumn(name=“panicNotificationListId”,insertable=false,nullable=false,updateable=false)})
private Set notificationLists=new HashSet();

在不初始化通知列表的情况下进行尝试。Hibernate会将它设置为一个惰性集实现,初始化它可能会干扰它。不起作用。我确实将enable_lazy_load_no_trans设置为true。您能详细说明一下“它似乎删除了映射”吗?数据是从数据库中删除的,还是只是延迟加载不起作用?如果是前者,那么您是否对实体进行了更改?如果是后者,该清单如何显示?数据将从数据库中删除。我没有做任何更改,我只是在父bean上使用criteria.list()来获取记录。这很奇怪,因为Hibernate不允许对集合进行任何更改。如何将这些通知添加到数据库中?我觉得我们需要更多关于你的地图的信息。除此之外,您是否可以发布Hibernate在发生这种情况时执行的一些SQL查询(这些查询作为调试消息记录到
org.Hibernate.SQL
)。