当前位置: 首页 > 知识库问答 >
问题:

spring jpa连接两个实体

艾骏
2023-03-14

我正在努力使用jpa Crudepository接口连接两个实体模型。我不知道如何映射两个实体模型并在@query注释中编写查询。这些是我的实体类。我想执行这个查询“从taxi\u driver\u映射中选择dppd.payment\u plan\u id,dppd.attribute\u value,dppd.attribute\u id作为tdm加入driver\u payment\u plan\u细节作为dppd on dppd.payment\u plan”

@Getter
@Setter
@Entity
@ToString
@Table(name = "driver_payment_plan_details")
@NoArgsConstructor
public class DriverPaymentPlanDetails
{
@Id
@Column(name = "id")
private int id ;

@Column(name = "payment_plan_id")
private long paymentPlanId;

@Column(name = "attribute_id")
private int attributeId;

@Column(name = "attribute_value")
private float attributeValue;

}

@Getter
@Setter
@ToString
@Table(name = "taxi_driver_mapping")
@Entity
@NoArgsConstructor
public class TaxiDriverMapping
{
@Column(name = "mapping_id")
@Id
private Long mappingId;

@Column(name = "mapping_driverid")
private Long mappingDriverId;

@Column(name = "mapping_taxi_model_id")
private String mappingTaxiModelId;

@Column(name = "mapping_status")
private String mappingStatus;

@Column(name = "mapping_payment_plan_id")
private Long mappingPaymentPlanId;

}

共有1个答案

印辉
2023-03-14

谢谢你们展示了正确的路径,这是我的代码。

@Getter
@Setter
@ToString
@Table(name = "taxi_driver_mapping")
@Entity
@NoArgsConstructor
public class TaxiDriverMapping
{
@Column(name = "mapping_id")
@Id
private Long mappingId;

@Column(name = "mapping_driverid")
private Long mappingDriverId;

@Column(name = "mapping_taxi_model_id")
private String mappingTaxiModelId;

@Column(name = "mapping_status")
private String mappingStatus;

@Column(name = "mapping_payment_plan_id")
private Long mappingPaymentPlanId;

@OneToMany(mappedBy = "taxiDriverMapping")
private List<DriverPaymentPlanDetails> driverPaymentPlanDetails;

}

 @Getter
 @Setter
 @Entity
 @ToString
 @Table(name = "driver_payment_plan_details")
 @NoArgsConstructor
 public class DriverPaymentPlanDetails
 {
@Id
@Column(name = "id")
private int id ;

@Column(name = "payment_plan_id")
private long paymentPlanId;

@Column(name = "attribute_id")
private int attributeId;

@Column(name = "attribute_value")
private float attributeValue;

@ManyToOne()
@JoinColumn(name="payment_plan_id",insertable = false,updatable = false)
private TaxiDriverMapping taxiDriverMapping;

}
 类似资料:
  • AnsprechPartner Lieferant ansprechpartner.java lieferant.java 在我的AnsprechPartner.java中,我是这样做的: 在我的Lieferanten.java中,我是这样做的:

  • 问题内容: 有简单的解决方案,可通过串联两个或java 。由于是经常使用的。是否有任何简单的方法来连接两个? 这是我的想法: 它可以工作,但实际上可以转换为,然后再次转换回。 问题答案: 您可以使用协力让这件事没有任何自动装箱拆箱或完成。这是它的外观。 请注意,返回,然后将其与另一个串联,然后再收集到数组中。 这是输出。 [1、34、3、1、5]

  • 我有一个dockerized应用程序,其中有几个服务使用Docker-Compose运行。我想使用另一个docker-compose应用程序docker-elk将这个应用程序与elasticsearch/logstash/kibana(ELK)连接起来。两者都运行在开发中的同一台docker机器中。在生产中,情况可能就不是这样了。 如何配置应用程序的链接到ELK堆栈?

  • 我有两个词A,B。在这个词中A是父词,有下面的表结构。 A1-->Acolumn 甚至我也尝试过使用普通连接。PLS让我知道我错过了什么。 我使用@query来指定query。选择a From TableA a LEFT OUTER JOIN FETCH a.tableAcollection p,其中a.tableacolum=?1和p.tablebcolumn<>p.tablebcolumn。

  • 问题内容: 我有两个表,如下所示: 我想列出参加活动17的所有人(包括学生和教师)的名字。无论如何,我可以获得以下结果: 无需创建新表(仅使用表达式或派生关系的嵌套)? 在actid上加入JOIN会得到如下结果: 我想我需要一种串联形式? 问题答案: 您可能(或可能不需要)对ID不唯一的内容进行处理,例如

  • EasyReact 的重点就是让节点之间的数据流动起来,所以连接节点是很重要的。 如何连接两个节点 两个节点是通过变换来连接的,在源码目录 EasyReact/Classes/Core/NodeTransforms 中我们默认实现了了很多的变换,你也可以通过继承 EZRTransform 类来实现自己的变换,一旦我们创建好一个变换后,就可以通过如下方式进行连接了: EZRMutableNode<N