Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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启动时,延迟加载正在为同一标识符创建不同的对象_Java_Spring_Hibernate_Spring Boot - Fatal编程技术网

Java Spring启动时,延迟加载正在为同一标识符创建不同的对象

Java Spring启动时,延迟加载正在为同一标识符创建不同的对象,java,spring,hibernate,spring-boot,Java,Spring,Hibernate,Spring Boot,我只是从“刚刚”的hibernate迁移到Spring Boot。我在使用延迟加载一对多关系时遇到一些问题 假设我创建了这些类: SalesQuot类 @Entity @Table( name = "sales_quot" ) public class SalesQuot{ @Id @GeneratedValue( strategy = GenerationType.IDENTITY ) private long id = 0; @OneToMany(fetc

我只是从“刚刚”的hibernate迁移到Spring Boot。我在使用延迟加载一对多关系时遇到一些问题

假设我创建了这些类:

SalesQuot类

@Entity
@Table( name = "sales_quot" )
public class SalesQuot{

    @Id
    @GeneratedValue( strategy = GenerationType.IDENTITY )
    private long id = 0;

    @OneToMany(fetch= FetchType.LAZY, targetEntity=SalesQuotSub.class, cascade = CascadeType.ALL, mappedBy="salesQuot", orphanRemoval=true)
    private List<SalesQuotSub> subs;
}
@Entity
@Table( name = "sales_quot_sub" )
public class SalesQuotSub{

    @ManyToOne(fetch= FetchType.LAZY)
    @JoinColumn(name="sales_quot")
    private SalesQuot salesQuot;
}
我使用crudepository和这个配置来启用延迟加载

(“hibernate.enable\u lazy\u load\u no\u trans”,true)

然后,考虑我有1个“销售”实例,它有3个销售子实例作为其子< /P>

salesQuot.subs = { sub1, sub2, sub3 }
全部保存到数据库中,一切正常。 当我试图从数据库加载它们时,问题就出现了。延迟加载工作正常,但实际的父实例(salequot)和从子对象的父属性(例如:sub1.salequot)获取的父对象具有不同的值。 打印结果示例:

salesQuot = sales.quotation.SalesQuot@2f3f1bfa
sub1.salesQuot = sales.quotation.SalesQuot@22be2326
sub2.salesQuot = sales.quotation.SalesQuot@22be2326
sub3.salesQuot = sales.quotation.SalesQuot@22be2326
我想要的是他们应该返回相同的对象。你们能帮我吗

永远不要在“只是”冬眠中遇到这种情况,为糟糕的英语道歉。 先谢谢你


PS:我尝试过使用快速抓取,一切正常,它们返回相同的父实例。

Up仍然没有解决dup Up仍然没有解决