Criteria API を使用する場合、現在のエンティティによって参照されるエンティティにフィルタを追加するために、次のコードを使用します。
criteria.createAlias("customer", "customer", Criteria.INNER_JOIN);
ここで、customer は、条件が作成されたエンティティの顧客エンティティ プロパティです。問題は、参照されたエンティティを削除し、クラス内の id のみを残す必要があることです。つまり、置き換えます
@ManyToOne
@JoinColumn(name = "ID_CUSTOMER")
private CustomerEntity customer;
に
@Column(name = "ID_CUSTOMER")
private Long customerId;
では、条件エイリアスを機能させ続けるには、どのような変更を加える必要がありますか? これは、上記の結合とともに、私が持っているフィルターの例です。
criteria.add(Restrictions.eq("customer.statusId", statusId));