1

我有一个包含 2 个表的数据模型:

  • 采购订单
  • 销售合同

相关的SaleContractJava 类包含一个字段PurchaseOrderpo。PurchaseOrder和之间存在一对一的关系SaleContract。类PurchaseOrder(和表)不知道SaleContract类(包含字段和外键)。

我想选择所有没有关联销售合同的采购订单。我无法完全理解这一点。

任何帮助将非常感激。

@Entity
public class SaleContract {

@Id
private String identifier;
@OneToOne(cascade=CascadeType.DETACH)
private PurchaseOrder po;
private double amount;
private String customerName;
private String salesRepresentative;

@Entity
public class PurchaseOrder {

@Id
private String identifier;
private double amount;
private String purchaser;
private String location;
private boolean approved;
4

1 回答 1

1

是的,这很违反直觉——您需要right join按如下方式使用:

select po from SaleContact sc right join sc.po po where sc is null
于 2013-10-30T17:34:52.500 回答