【发布时间】:2019-03-12 15:58:12
【问题描述】:
我有这 3 个实体:
支付交易:
@Entity
@Table(name = "payment_transactions")
public class PaymentTransactions implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", unique = true, updatable = false, nullable = false)
private int id;
.....
}
WPF 付款:
@Entity
@Table(name = "wpf_payments")
public class WpfPayments implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", unique = true, updatable = false, nullable = false)
private int id;
............
}
WPF Payments 支付交易:
@Entity
@Table(name = "wpf_payment_payment_transactions")
public class WpfPaymentPaymentTransactions implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", unique = true, updatable = false, nullable = false, length = 3)
private int id;
@Column(length = 4)
private Integer wpf_payment_id;
@Column(length = 4)
private Integer payment_transaction_id;
.....
}
我使用这些 SQL 请求来获取基于 id 的正确数据:
SELECT `payment_transactions`.* FROM `payment_transactions` INNER JOIN `wpf_payment_payment_transactions` ON `payment_transactions`.`id` = `wpf_payment_payment_transactions`.`payment_transaction_id` WHERE `wpf_payment_payment_transactions`.`wpf_payment_id` = 75 ORDER BY `payment_transactions`.`id` ASC LIMIT 1
SELECT `payment_transactions`.* FROM `payment_transactions` INNER JOIN `wpf_payment_payment_transactions` ON `payment_transactions`.`id` = `wpf_payment_payment_transactions`.`payment_transaction_id` WHERE `wpf_payment_payment_transactions`.`wpf_payment_id` = 75
有没有办法使用 JPA 查询来实现这些 SQL 请求?
【问题讨论】:
-
您想要
JPQL版本的SQL查询还是使用JPA执行它们? -
你能给我看看JPQL版本吗?
标签: java jpa jpa-2.0 hibernate-jpa