Annotationsでのみ休止状態を使用しています。私のテーブルは次のようになります。
@Entity
@Table(name = "NetworkType",
uniqueConstraints = {@UniqueConstraint(columnNames = {"network_id", "type"})})
public class NetworkType implements Serializable {
@Id
private long id;
@Column(name = "network_id", nullable = false)
private long networkId;
@Column(name = "type", nullable = false)
private String type;
...
現在、同じNetworkTypeを2回書き込むと、UniqueConstraint(予想される)が原因で例外がスローされます。
私の考えは、チェックする前に最初にアイテムを読むことです。問題は、他のテーブルがこのテーブルを参照しているために必要なIDが主キーであるということです。
「network_id」と「type」のアイテムをクエリして、組み合わせがまだ存在しないことを確認するための最良の方法は何ですか?
クエリを使用して手動でこれを実行できることは知っていますが、より休止状態の方法で実行できますか?
一般に、PKを使用せずにオブジェクトを「取得」する適切な方法は何ですか?基準またはクエリは最良の方法ですか?