問題タブ [composite-key]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nhibernate - Hibernate 複合キー
複合キーを作成しましたが、機能していますが、理想的には、行クラスの直接フィールドを分離したいと考えています。
私がこれを行っている現在の方法は次のとおりです。
そして、これを行うためのより良い方法があるかどうか疑問に思っていましたか? おそらくNHibernate構成ファイルにあります。
私の現在の設定ファイルは次のとおりです。
php - 複合キーの代替
すべてのテーブルに主キー用の 2 つの列があるデータベース構造があります。
たとえば、テーブル Author には、自動インクリメント番号である AutherId と、その pc に固有の pc_id のような 2 つの列があり、これらはテーブルの複合キーです。しかし、関係に関しては、すべての関係に対して両方の列を定義する必要があります。Docrtine (PHP ORM) を使用する予定なので、そのように使用するのは少し問題があります。
したがって、一意の ID (pc_id も組み合わせて) を生成し、それを主キーとして使用できるかどうか疑問に思います。
PHP コードは time() のようなものです。ランド(1000,9999) . $pc_id
time + 1000 から 9999 までの乱数と pc_id (pc_id も 1 から始まる数値) を連結して ID が生成されるようにします。しかし、これは 20 桁の数字 (pc_id が 6 桁の場合) を作成し、bigint を格納する必要があります
これに代わる良い方法はありますか
よろしく
entity-framework - Entity Framework 4コードで複合主キーを最初にマップするにはどうすればよいですか?
私は最初にEF4コードを理解し、今のところ気に入っています。しかし、複合主キーを使用してエンティティをテーブルにマッピングするのに問題があります。
私が試した構成は次のようになります。
これはこの例外をスローします:エンティティタイプ'SubscriptionUser'のキーを推測できません。
私は何が欠けていますか?
java - JPA 2.0、PostgreSQL、およびHibernate3.5での混合サロゲート複合キー挿入
まず、PostgreSQLデータベースの永続性プロバイダーとしてJPA2.0とHibernate3.5を使用しています。
JPA 2.0アノテーションを介してデータベースのシーケンスを単一フィールド代理キーの自動生成値として正常に使用し、すべて正常に機能します。
現在、次の方法で混合キーを必要とするバイテンポラルデータベーススキームを実装しています。
今、問題があります。ご覧のとおりINSERT
、新しい要素の場合、フィールドid
は自動生成され、問題ありません。UPDATE
ただし、このスキーム内のフィールドが必要な場合はvalidTimeBegin
、-fieldを変更せずに列を変更し、id
次のように新しい行として挿入する必要があります。
行の更新前:
正確に2010-05-01-10:35:01.788サーバー時間に発生する行の更新後:
したがって、私たちの問題は、フィールドに自動生成されたシーケンスを使用すると、これがまったく機能しないことですid
。新しい行を挿入すると、idは常に自動生成されますが、実際には複合キーの一部であり、動作する場合があります。別の方法で。
だから私の質問は:id
同じ人の新しい品種を生成し、他のすべての場合に通常どおり続行したい場合に、JPAを介して休止状態にフィールドの自動生成を停止するように指示する方法はありますか?カスタムコードでID生成全体を引き継ぎますか?
よろしくお願いします、ジェラルド
asp.net - 複合キーを使用した Hibernate の更新
以下に示すテーブル定義があります。
ライセンス
ClientId と Type を組み合わせて行を一意に識別します。以下のようなマッピングファイルがあります。
クライアントがライセンスを使用してユーザーを作成した場合、テーブルの [使用済み] 列を更新する必要があります。マッピング xml でこのテーブルの id 列として ClientId 列を設定すると、TooManyRowsAffectedException が発生します。
NHibernate が ClientId と Type に基づいて更新できるように、マッピング レベルで複合キーを設定する方法を教えてください。
次のようなもの: Update License SET Used=Used-1 WHERE ClientId='xxx' AND Type=1
助けてください。
ありがとう、マヘシュ
replace - multi_index composite_key をイテレータに置き換える
boost::multi_index でインデックスをループして置換を実行する方法はありますか?
mysql - Mysqlデータベーステーブルで複合主キーを識別する方法は?
Mysqlデータベーステーブルで複合主キーを識別する方法は? また
EDIT 2 複合主キーを含むテーブルのインデックスを表示するには、どのSQLクエリを使用する必要がありますか?
2 つまたは 3 つの主キーの複合キーを持つ mysql データベースに多くのテーブルがあり、phpmyadmin を使用しています。複合キーを持つテーブルを識別するために php スクリプトをコーディングする必要があります。クエリを使用してテーブル
これは私が望むものを与えてくれますが、複合キーを持つインデックスを見つけるにはどうすればよいですか?
編集1
Daniel Image のコンテキストで、phpmyadmin の複合主キーの外観に関するコメント
java - 休止状態の自動インクリメントが機能しない
DB に Identity(1,1) が設定された列があり、休止状態の注釈が機能しません。新しいレコードを作成しようとするとエラーが発生します。
私のエンティティには、次のものがあります。
しかし、新しいレコードを追加しようとすると、次のエラーが発生します。
IDENTITY_INSERT が OFF に設定されている場合、テーブル 'MemberSelectedOptions' の ID 列に明示的な値を挿入できません。IDENTIY_INSERT を ON に設定したくありません。データベースの ID 列で値を管理したいからです。
実行される SQL は次のとおりです。インサートがはっきりと見える場所。
私は何が欠けていますか?
.net - 複合キーのLINQの哀れな扱い
2 つの int フィールドと 1 つの varchar(50) フィールドで構成される複合キーを持つテーブルがあります。複合キーを主キーにしましたが、これは通常は行いません。はい、はい、はい、私は論理キー対代理キーの議論に精通していますが、代わりに論理キーアプローチを使用したため、表を作成した日に重い薬を飲んだに違いありません (実際にはそうではありません)。サロゲートを使用すること(私はほとんどいつもそうしています)。
私の問題: LINQ では、複合キーの一部である varchar(50) 列を更新できません。「プロパティ 'Value' はオブジェクトのキー情報の一部であり、変更できません」という例外がスローされます。「値」はフィールドの名前です(列名に予約語を使用することについて教えないでください...すでに言ったように、私はその日深刻な薬を飲んでいました)。
岩と固い場所の間以外に、これは私をどこに置きますか? 問題のテーブルには実際には一意の ID 列があり (主キーではありませんが)、この列は別のテーブルへの外部キーで使用されています。そのため、問題のレコードを削除して再度追加するなどのハックを簡単に行うことはできません。これにより、他のテーブルの fk を追跡し、それらも再追加する必要が生じるためです。なんという悪夢…
テーブル構造に大幅な変更を加えることなく、この問題を回避する簡単な方法を知っている人はいますか?
c++ - 複合キーを使用して multi_index_continder のカスタム述語を作成する方法は?
ブーストの男をグーグルで検索しましたが、例は見つかりませんでした。ばかげた質問かもしれません... とにかく。
この男性の有名な電話帳があります。
my_custom_comp() はどのように見えるべきですか? 私にとっては明らかであり、それはboost::multi_index::composite_key_result<CompositeKey>
引数として取られます(コンパイルエラーのため:))が、その特定のケースでは CompositeKey は何ですか?
前もって感謝します。