如何防止EclipseLink/JPA在每次插入之前进行选择?
如何防止EclipseLink/JPA在每次插入之前进行选择 下面示例中的父对象是缓存的,但每次添加子对象时,它都会先执行选择,然后执行插入。由于父对象已被缓存,因此选择似乎不必要 我的等级在下面。OneToMany设置为级联所有 班级家长 -列出儿童如何防止EclipseLink/JPA在每次插入之前进行选择?,jpa,eclipselink,Jpa,Eclipselink,如何防止EclipseLink/JPA在每次插入之前进行选择 下面示例中的父对象是缓存的,但每次添加子对象时,它都会先执行选择,然后执行插入。由于父对象已被缓存,因此选择似乎不必要 我的等级在下面。OneToMany设置为级联所有 班级家长 -列出儿童 非常感谢。EclipseLink不会在每次插入之前执行选择,而是默认启用共享缓存 请包括您的代码,包括您正在执行的操作和SQL日志 我猜您正在使用merge()?使用“合并”时,被合并的对象可以是新的或现有的,如果其id为null或0(取决于配置
非常感谢。EclipseLink不会在每次插入之前执行选择,而是默认启用共享缓存 请包括您的代码,包括您正在执行的操作和SQL日志 我猜您正在使用merge()?使用“合并”时,被合并的对象可以是新的或现有的,如果其id为null或0(取决于配置),则将假定为“新建”,并且不会进行选择。如果它有一个非空的id并且是新的(不使用生成的id),则必须进行选择。考虑使用生成的ID,或者调用Surror(),而不是MeGe()。
如果它是现有对象,则必须选择当前副本以了解发生了哪些更改。正常情况下,它将位于共享缓存中,并且不会发生选择。如果您已禁用共享缓存,或者从未在此计算机上读取该对象,或者该对象已从共享缓存中过期,则将进行选择。显示实体的代码以及用于插入的代码。