特に参照整合性制約違反の場合に備えて、SpringMVC と Hibernate を使用するアプリケーションのクライアント側のデータ検証を自動化したいと考えています。私のアプリケーションの構造の単純なバージョンは次のとおりです。
DB
いくつかのテーブルを含むOracle dbがあります。例を見てみましょう
DOCUMENT
整数の主キーDOC_KEY
とTITLE
フィールドを持つテーブル外部PAGE
キーFK_DOCUMENT_ID
、キーPAG_KEY
、テキスト "TEXT" フィールドを持つテーブル。
ORM/アプリケーション層
これらのテーブルをマッピングする2つの(休止状態の)エンティティ(Document
および)があります。Page
を作成するには事前にPage
を作成する必要がありますが、関連するを外部キー フィールドに指定せずDocument
に を作成することはできません。Page
DOC_KEY
ウェブ層
ユーザーがいくつかのページで新しいドキュメントを作成できるフォームを作成しました。ドキュメントのタイトルと 1 つまたは複数のページを挿入できます。Page
タイトルを指定せずにオブジェクトを作成しようとするDocument
と、ページにドキュメントが指定されていないため、DB エラーが発生します。
ユースケースの例
ユーザーは、ドキュメントのタイトルを指定せずにコンテンツを設定するページを作成しようとします。クライアント側のバリデーターは、ユーザーに入力を求めるタイトル フィールドを赤でマークします。
質問
挿入しようとしているエンティティ/オブジェクト/行が FK 整合性ルール チェックを満たさない場合にサーバー側の呼び出しを回避するために、クライアント側の検証ルールを自動的に生成することは可能ですか?
または、クライアント側の検証ツールが外部キーの一貫性を「理解」できるようにするツールはありますか?
jquery を試してみましたが、外部キーの一貫性を自動的にチェックする方法を見つけることができませんでした。
編集: *受け入れられた回答に関する注意事項* もちろん、クエリを実行したり、クライアント側でキャッシュしたりせずに db クライアント側の状態を知る方法はありませんが、キーが存在し、整合性制約が満たされているかどうかを確認するには、その知識が必要です。私の受け入れられた答えは、質問の焦点と一致しています。事前に考えておくべきだった