問題タブ [grails-orm]
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.
database - LiquibaseでGrailsのインデックスを削除する方法
GORM(Grailsドメイン)によって生成されたテーブルがあります。FKAC7AAF67162A158Fのようなランダムな文字を生成する外部キー/インデックスがあります。もう必要のないフィールドを削除する必要があります。
問題は、更新が必要なサーバーがいくつかあることです。そのため、Liquibaseを使用して移行を作成する必要があります。しかし、インデックスがランダムな名前である場合(サーバーごとに異なる名前が付いている場合)、そのインデックスを手動で削除する方法がわかりません。
名前を知らなくても何かのインデックスを削除することは可能ですか?
java - コレクションorg.hibernate.HibernateExceptionへの共有参照が見つかりました
このエラーメッセージが表示されました:
エラー:コレクションへの共有参照が見つかりました:Person.relatedPersons
実行しようとしたときaddToRelatedPersons(anotherPerson)
:
私のドメイン:
なぜこれが起こるのか考えていますか?
java - Hibernate/GORM: コレクションは flush() によって処理されませんでした
タイプのエンティティを保存しようとすると失敗する Grails アプリケーションの統合テストがあります。Member
これにより、次の例外が発生します
org.hibernate.AssertionFailure: コレクション [com.mycompany.facet.Facet.channels] は com.mycompany.member.MemberConnectionService.addOrUpdateContact(MemberConnectionService.groovy:939) で flush() によって処理されませんでした
トランザクションの早い段階で、オブジェクトを のコレクション プロパティに追加しますinvitingMember
。コレクションに追加されたオブジェクトが永続化されるのはこの時点だけであるため、上記の行で例外がスローされると思います。
inheritance - GORM関係の抽象クラス
Grails GORMは、抽象ドメインクラスをデータベースに永続化しないため、多態的な関係が失われます。例えば:
原因
原因:org.hibernate.MappingException:テーブルドキュメントからの関連付けがマップされていないクラスを参照しています:User ... 25 more 2009-11-11 23:52:58,933[main]エラーmortbay.log-org.springframeworkにネストされています.beans.factory.BeanCreationException:「messageSource」という名前のBeanの作成中にエラーが発生しました:Beanの初期化に失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:「transactionManager」という名前のBeanの作成中にエラーが発生しました:Beanプロパティ「sessionFactory」の設定中にBean「sessionFactory」への参照を解決できません。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:「sessionFactory」という名前のBeanの作成中にエラーが発生しました:initメソッドの呼び出しに失敗しました。ネストされた例外はorg.hibernate.MappingExceptionです:
しかし、このシナリオでは、システムのすべてのユーザーを定義された役割の1つに適合させながら、すべてのユーザーがドキュメントを所有できるようにするという多態的な効果が必要です。したがって、ユーザーは直接インスタンス化されるべきではなく、抽象化されます。
非抽象ユーザークラスのロールに列挙型を使用したくないのは、特定のコンテキストでは意味をなさない可能性のある、さまざまなロールにプロパティを追加できるようにするためです(ロールがRegularEmployeeに設定されている単一のユーザーで、何らかの理由でnullではないmanagedGroupを取得します)。
これはGrailsのバグですか?私は何かが足りないのですか?
grails - カスタムドメインクラスメソッドに基づくオブジェクトの並べ替え
私はドメインクラスを持っており、さまざまなアルゴリズム(人気など)に基づいてオブジェクトにスコアを与えるいくつかのメソッドを定義しました。
ここで、これらのスコアの1つでソートされたこれらのオブジェクトのリストを取得したいと思います(たとえば、人気スコアの降順)。
GORMを使用する方法はありますか?
クラスの例:
grails - Grails: GORM と BitSet?
サポートされていない永続データ型に関する公式ドキュメントには何も表示されないため、Groovy 言語で使用可能な型を処理する必要があるという仮定の下で作業しています。ただし、次のドメイン クラスの場合:
私は得ています:
2009-11-15 16:46:12,298 [メイン] エラー context.ContextLoader - コンテキストの初期化に失敗しました ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'transactionManager' という名前の Bean の作成中にエラーが発生しました: Bean プロパティ 'sessionFactory' の設定中に Bean 'sessionFactory' への参照を解決できません。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'sessionFactory' という名前の Bean の作成中にエラーが発生しました: init メソッドの呼び出しに失敗しました。ネストされた例外は org.hibernate.MappingException です: テーブル doc_group_permissions からの関連付けは、マップされていないクラスを参照しています: java.util.BitSet
誰もこれに遭遇したことがありますか?
hibernate - 重要でないGrails/GORMドメインクラスのロックを無効にする
Grailsコントローラーで次のコードを想定します。
デフォルトでは、Grailsはversion
すべてのGORMデータベーステーブルにデフォルトで追加された列を介して楽観的ロックを使用します。ただし、十分な数の複数の同時リクエストがこのアクションに送信されると、次の例外を除いて、楽観的ロックメカニズムが機能しなくなります。
失敗した更新/削除がまったく重要ではないドメインオブジェクトの場合、ロックメカニズムを無効にして、StaleObjectStateExceptionがスローされないようにします。どうすればそれを達成できますか?
grails - ドメインクラスとそれ自体の関係をグライルします
ドメインクラスがそれ自体の多くを持つことができるようにする方法が必要です。言い換えれば、親子関係があります。私が取り組んでいるテーブルには、データと「parent_id」という列があります。いずれかのアイテムにparent_idが設定されている場合、そのアイテムはその要素の子です。
Grailsに、参照用に調べるフィールドをhasManyに指示する方法はありますか?
grails - Grails GORM の問題: オブジェクトが保存されていない一時的なインスタンスを参照している
以下の Grails コードは.save()
、Foo オブジェクトを試行すると、次の例外をスローします。
HTTPパラメーターからドメインオブジェクトを自動的に取り込むことに関連して、GORMセマンティクスの一部を見逃していると思います。
私の質問は簡単です:
- 上記の例外を取得せずに Foo オブジェクトを作成して保存する正しい方法は何ですか?
モデル:
意見:
コントローラ:
grails - Grails GORM ドメイン クラスの関係
Grails 1.1.1 グービー 1.5.7
このような関係では:
著者 1 -- n 本 n -- 1 出版社
Grails で定義:
Publisher と Author の値を含む Book をロードしたいと考えています。クエリで Book を取得すると:
autor が関連付けられた応答を取得しますが、発行者は他のクエリで id と name クラスしか持っていません。
逆の結果を取得します。出版社のデータを含む本がありますが、著者にはIDとクラス名しかありません。
定義されたモデルのどこにエラーがありますか? o クエリを実行する方法にエラーがありますか?
編集:
次のようなクエリでのみ値を取得する方法が必要です。
これで、出版社の価値を管理できます。
質問: 出版社に関連がある場合hasmany
、Domain
書籍を入手して属性を読み取ることができますか?
ありがとう。ありがとう。