Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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 弹簧:将2个实体合并到模型对象中_Java_Spring_Spring Boot_Spring Data Jpa - Fatal编程技术网

Java 弹簧:将2个实体合并到模型对象中

Java 弹簧:将2个实体合并到模型对象中,java,spring,spring-boot,spring-data-jpa,Java,Spring,Spring Boot,Spring Data Jpa,我需要将2个实体对象组合成1个模型对象,用于将数据返回给调用api方法。这个场景是否有一个通用的模式或解决方案 @Entity public class Entity1{ @Column private String value1; @Column private String value2; } @Entity public class Entity2{ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(

我需要将2个实体对象组合成1个模型对象,用于将数据返回给调用api方法。这个场景是否有一个通用的模式或解决方案

@Entity
public class Entity1{
   @Column
   private String value1;
   @Column
   private String value2;
}

@Entity    
public class Entity2{
   @ManyToOne(fetch = FetchType.LAZY)
   @JoinColumn(name = "value1")
   private Entity1 entity1;

   @Column
   private String value3;
}

对我来说,您应该使用Facade或businessdelegator,它们应该像适配器一样返回对象

对我来说,您应该使用Facade或businessdelegator,它应该像两个适配器一样返回对象

Entity2已经有Entity1,因此在Entity2上返回一个实例就足够了。
如果您想简化API,您应该创建一个新模型,将两者的属性结合起来,并在幕后进行映射。

Entity2已经有Entity1,因此在Entity2上返回一个实例就足够了。
如果你想简化你的API,你应该创建一个新的模型,将两者的属性结合起来,并在幕后进行映射。

这是一对一的关系吗?我不熟悉这种情况。如果无法继承,请使用组合。或者创建包含这两者的包装器类。但是:如果知道对返回数据是否有一些要求,比如
Entity3
具有
value1
value2
?Entity1与entity2具有1-m关系请将这些内容放入问题代码中,添加可能的注释等等。问题是什么?如果您有一个
Entity2
,那么您已经有了对
Entity1
的引用。你说的“联合”是什么意思?是一对一的关系吗?我不熟悉这种情况。如果无法继承,请使用组合。或者创建包含这两者的包装器类。但是:如果知道对返回数据是否有一些要求,比如
Entity3
具有
value1
value2
?Entity1与entity2具有1-m关系请将这些内容放入问题代码中,添加可能的注释等等。问题是什么?如果您有一个
Entity2
,那么您已经有了对
Entity1
的引用。“combine”是什么意思?如果返回Entity2的实例,如何访问列value2?Entity2.getEntity1().getValue2();如果返回Entity2的实例,如何访问列value2?Entity2.getEntity1().getValue2();