是否有更好的解决方案将许多字段实体映射到两个表中



我正在获取50个字段的数据。如何在JPA中映射到两个表格,在其中我只需要三个字段和其他字段,我只需要传递到下游?

这是针对运行H2 DB项目的新的Spring Data JPA。过去,我尝试在一个实体表中映射所有50个字段。但是我只需要从这50个字段中的3个基本字段来完成最后5000个记录的过程。

   @Entity
   class SingleCustomer{  
    //ID field
    // 3 fields only these fields I am using to process my data from db
    //47 fields just to pass to another service without any process
    }

提高我的应用程序的性能,我应该采用哪种方法?是否还有其他方法可以改善应用程序性能,例如分为两个实体,并在需要发送另一个服务时一对一加入。

正如您所说的那样,您可以将所有字段分为两个实体,并加入一对一的关系。但是您应该注意,默认情况下,与一对一关系的字段急切地加载,您应该将其标记为懒惰以提高性能。

使用@lebecca指出的单独的实体与@OneToOne关联不需要的字段是一种方法,正如@lebecca所指出的一种方法。

但是,如果您宁愿将所有属性保留在一个实体中,则可以打开Hibernate字节码增强,这可以支持@Basic(fetch = LAZY)。如果需要,您还应该能够将使用@SecondaryTable的方法组合起来,以存储通常不需要的属性。

有关更多信息,请参见此处,包括有关如何通过启用增强功能来微调懒惰加载行为的信息。

最新更新