問題タブ [mappedsuperclass]

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.

0 投票する
0 に答える
204 参照

java - JPA 1 つのエンティティ 3 つのテーブル

それぞれ同じ列を持つ 3 つのテーブルがあります。そのうちの 1 つには元の測定データがあり、もう 1 つには分と時間に集計されたデータがあります。JPAにデータをロードするとき、すべてのデータセットに同じエンティティ/クラスが必要です。継承/マップされたスーパークラスで試しましたが、これまでのところうまくいきませんでした(正しいかどうかもわかりません)。適切なコンストラクターがないか、テーブルがマップされていないことがわかります。Table of my Value エンティティをテーブルの 1 つに設定すると、そのテーブルで機能しますが、実行時にすべてのテーブルからデータをロードできるようにしたいと考えています。

PersistenceManager.java から

値.java

}

スタックトレース

それが役に立ったら、ここにプロジェクト全体がありますhttp://crafthost.de/src.zip

私がやろうとしていることを理解していただければ幸いです。

0 投票する
2 に答える
2343 参照

symfony - doctrine 2による複数レベルの継承マッピング

「 Addressable」である(アドレスを持つことができる)3つのエンティティがあります。

配送先
お客様
配送センター

すべてのAddressableエンティティもGeolocatable (緯度と経度を持つ) ですが、トラック ポイントルート ポイント(緯度と経度の順序付けられたシーケンス) のように、 GeolocatableであるがAddressableではないエンティティがあります。

doctrine 2 (Symfony2 と YAML マッピングを使用) でこれを達成するための最良の方法は何ですか?

私の質問は次のとおりです。この問題に対する最善のアプローチは何ですか? マッピングされたスーパークラス? 単一テーブルの継承?マルチテーブル継承?教義のドキュメントを読んでも、これに最適なものはわかりませんでした。

それが重要な場合、私はPostgreSQLを使用しています。

0 投票する
2 に答える
195 参照

inheritance - 継承を使用してID GenerationTypeを区別するJPA

同じテーブル T を持つ 2 つの異なるデータベース D1、D2 があります。

T には、D1 で自動生成された主キー列 ID があり、D2 では単純な整数です。D1 の T から D2 の T にレコードをシフトする必要があるため、JPA で T を @Entity としてマッピングしました。問題は、@ID が D1 では @GeneratedValue(strategy = GenerationType.IDENTITY) であるが、D2 ではそうではないことです。

エンティティを複製しないための解決策はありますか? @MappedSuperclass を使用するには @Id 列が必要であることに気付きましたが、私の場合は特殊化しようとしているものです。私が見つけた唯一の解決策は、@id を除いて同一の同じテーブルを参照する 2 つの異なるクラスを生成することです...何か良いことはありますか?

(一般的な抽象クラスを使用すると、@NamedQueries を定義するときに問題が発生します。継承されたフィールドを参照できないようです (SELECT m FROM Specialized m WHERE m.aBaseField= :aBaseField) 例外を返します:「状態フィールド パス ' m.aBaseField' を有効な型に解決できません。"

0 投票する
1 に答える
8482 参照

symfony - Doctrine2 / Symfony2 - 同じテーブル上の複数のエンティティ

Symfony2 アプリケーションには、MainBundleと、有効または無効にできる個別のバンドルがあります。MainBundleには、Model基本的なEntityが必要です。OtherBundleでは、MainBundleEntityと同じテーブル名を持つEntity

MainBundle のフィクスチャは、 MainBundle 以外のバンドルの有無にかかわらずロードする必要があります。

Modelに @ORM\MappedSuperclass 、MainBundle の Entity に @ORM\Entity 、OtherBundle の@ORM \ Entityを使用場合Doctrine2は「テーブルが既に存在します」というエラーで停止します。

モデルが他のバンドル内の他のエンティティについて知る必要がないため、継承テーブルを使用できません。@ORM\DiscriminatorMapOtherBundleを指すことができません。

これを行う方法はありますか?

0 投票する
0 に答える
709 参照

hibernate - Hibernate - MappedSuperClass と埋め込み ORM 戦略の混合

作業中の既存の Hibernate Entity 階層があります。エンティティはすでに MappedSuperClass を使用して、基本クラスからいくつかの共通フィールドを継承しています。私のシナリオでは、これらのフィールドも継承する必要があり、さらに、Hibernate の Embeddable 機能を介して構成を活用する必要があります。

たとえば、エンティティ Car は MappedSuperClass としてマークされ、エンティティ CarTypeA および CarTypeB によって拡張されます。

現在、CarTypeA と CarTypeB の間にもいくつかの共通フィールドがあり、Embeddable クラスに抽出できます (CommonCarStuff と呼びます)。CommonCarStuff は次のようになります

このクラスを CarTypeA で使用できますが、実行時に Hibernate によって生成された INSERT クエリが正しくありません。生成する代わりに

クエリ生成状態

この列がテーブルにマップされていないため、クエリが常に失敗します。Embedded クラスを正しく宣言しました。

誰かが私を助けてくれることを願っています。

ありがとう

0 投票する
0 に答える
575 参照

php - Doctrine 2 - マッピングされたスーパークラスを持つ関連クラスを持つ方法は?

ManyToMany 関係を定義するために、Doctrine 2 でマップされたスーパークラスに問題があります。

私のコードは次のとおりです。

だからここに私が持っているもののスキーマがあります: http://pix.toile-libre.org/upload/original/1385651287.png そして、私が欲しいものがあります: http://pix.toile-libre.org/upload/オリジナル/1385651300.png

この結果を取得する方法がわかりません。可能であれば誰か教えてもらえますか?

助けてくれてありがとう。

0 投票する
1 に答える
574 参照

hibernate - キーの1つの属性が@MappedSuperClassにあり、他の属性が@Entityクラスにあるspring-jpaを使用して複合キーを作成する方法は?

複合キーを作成する必要があります。キーの 1 つの属性は、変更できない MappedSuperClass にあります。キーの他の属性は、エンティティ クラスである派生クラスにあります。ただし、以下を実行すると、基本クラスの属性 (@IdClass にも存在する) がエンティティ クラス (派生クラス) の属性ではないという実行時エラーが発生します。この状況に対処する方法を教えてください。

DerivedPK に存在する属性「id」がクラス「Derived」に見つからないというエラーが表示されます。使用される Hibernate のバージョンは 4.1.1.Final です。

0 投票する
2 に答える
2282 参照

hibernate - @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) のときに @MappedSuperclass で同じ ID を使用する理由

次のように、2つのテーブルを作成しようとしています。

MISEエクササイズ(表)


識別名...

2a


MISInteractiveExercise(表)


識別名...

1b


ID が同じであってはなりません。そして、それらは同じベースから継承されます。私のコードは次のとおりです。

残念ながら、MISExercise のテーブルと MISInteractiveExercise のテーブルは同じ ID を持つことができます。グーグルで検索すると、http://openjpa.208410.n2.nabble.com/same-Id-on-mapped-superclass-td2435374.htmlが見つかります。@Kaayanにも同じ問題があるようです。しかし、そのページからヘルプを得ることができません。

そして、@MappedSuperclass ではなく @Entity を使用すれば問題ないようです。しかし、なぜ、そして良い方法は何ですか?

0 投票する
1 に答える
104 参照

php - Symfony2.4 抽象クラスのコールバックがトリガーされない

ライフサイクルコールバックを含む抽象クラスを拡張するクラスを使用しています。抽象クラスに @ORM\MappedSuperclass のアノテーションが付けられていますが、コールバックがトリガーされません。この件に関してあちこちで多くの問題を見ましたが、具体的な答えはありませんでした。誰かが本当にうまくいく解決策を持っていますか? (コールバック メソッドを手動で呼び出すと、すべてが完全に機能することを指定します)

このリンクの答えは私にはうまくいきません:

Doctrine 2 抽象基本クラスを持つ LifecycleCallbacks は呼び出されません

(でも問題は同じ)

0 投票する
1 に答える
1081 参照

symfony - symfony デプロイメント エラー: マッピングされたスーパークラス

マッピングされたスーパークラス エンティティを含む symfony Web サイトをオンラインでデプロイすると、次のエラーが発生します。

最悪の場合、web/app.php を (デバッグ モードを true にして) 使用するとこのエラーは表示されませんが、web/app_dev.php を使用するとプログラムがブロックされます。

ローカルでは、web/app.php または web/app_dev.php を使用している間、このエラーは表示されません。

この暗い謎について何か手がかりを持っている人はいますか?

ヒントをお寄せいただきありがとうございます。