問題タブ [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.

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

hibernate - GORM Hibernate クエリ

次の Grails ドメイン オブジェクトがあります。

ProductTypeすべての とその必須のを取得したいと思いAttributeます。Attributeさらに、選択したs を積極的に読み込み、プロパティ別に並べ替えたいと思いseqます。あらゆる種類の HQL および Criteria クエリを試しましたが、理解できないようです。

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

hibernate - GORM/Hibernateを使用した遅延読み込みクエリ

MyGrailsアプリには次のドメインオブジェクトがあります

私のDBには7ProductType秒あり、それぞれに3Attribute秒あります。クエリを実行すると:

7つのインスタンスProductTypeが返されることを期待していますが、実際には21(7 x 3)を取得します。上記と同等のSQLクエリを実行すると、結果セットには21行になることを理解しています。

しかし、Hibernate / GORMを介してこれらの結果を取得すると、次のようなものが得られるはずだと思いました。

ちなみに、上記のクエリからeager-loadingを削除すると、ProductType期待どおりに7秒が取得されます。私は何が欠けていますか?

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

grails - 最初の一致を見つける - DomainClass.findAll()[0] の代替

DomainClass.findAll()[0]通常は によって取得される一連のドメイン オブジェクトの最初のドメイン オブジェクトを取得するよりも、短くてクリーンな方法はありますfindAll()か?

理想的には欲しいのですDomainClass.find()が、そのようなファインダーは存在しません。

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

grails - addTo* および RemoveFrom* GORM/Grails メソッドをオーバーライドするには?

Grails/GORM が提供する動的メソッド addTo* をオーバーライドしようとしましたが、うまくいきません。

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

問題は、addToPlayers を呼び出すときに、次の例外が発生したことです。

基本的に、コレクション「プレーヤー」を自分で初期化する必要があるようです。

その前に、GORM メカニズムについていくつかの洞察を得たいと思います。

1 - GORM のコレクションのデフォルトの実装は何ですか (java.util.Set の実装であることは知っていますが、どの実装ですか?)

2 - それは正しいことですか (addToPlayers メソッドをオーバーライドすることによって) ? (私の唯一の必要性は、マッチ インスタンスでプレーヤーが追加/削除されるたびにオブジェクト MatchPlayer を作成/削除することです)。はいの場合、なぜ例外があるのですか? このためのより良い設計はありますか?

ありがとうございました。

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

grails - Grails で 1 か月のすべてのイベントを選択する

私はgroovy/grailsが初めてで、基本的に次のように、1か月のすべての投稿を検索する基準検索を実行しようとしています:

ドメインクラスは

さて、なぜこの例外が発生するのでしょうか?

org.codehaus.groovy.runtime.InvokerInvocationException: org.hibernate.QueryException: プロパティを解決できませんでした: job.happening of: JobRegistration

0 投票する
4 に答える
9353 参照

database - Grails の複数列インデックス

Grails で複数列のインデックスを定義する方法を誰かが説明できますか? ドキュメントはせいぜいまばらです。

たとえば、これはまったく機能していないようです: http://grails.org/GORM+Index+definitions

これである程度運が良かったのですが、結果はせいぜいランダムに思えます。あるドメインクラスで機能する定義は、別のドメインクラスに適用すると機能しません (もちろん名前が異なります)。 http://www.grails.org/doc/1.1/guide/single.html#5.5.2.6%20Database%20Indices

いくつかの実用的な例と説明をいただければ幸いです。

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

hibernate - Hibernate トランザクション境界

私は (Grails アプリで) Hibernate を使用しており、トランザクション境界はサービス メソッドです。つまり、サービス メソッドが呼び出されるたびにトランザクションが開始され、サービス呼び出しが完了するたびに、トランザクションがロールバックまたはコミットされます。

データベース操作の 1 つによってデータベース トリガーが起動され、このトリガーが永続データに変更を加えた場合、これらの変更は、サービス呼び出しが完了したときにロールバックまたはコミットされますか? それとも、トランザクションの "外部" のトリガーによって変更が加えられますか?

ありがとう、ドン

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

grails - Grails で、ドメイン クラスの SQL Server スキーマ名を宣言するにはどうすればよいですか?

私は最近、Grails について読み始めました。SQL Server セキュリティ スキーマを使用して、GORM によって生成されたテーブルをグループ化したいと考えています。ただし、このタスクの実行方法を説明するリファレンスが見つからないようです。私もHibernateが初めてで、これが可能かどうか知りたいです。ありがとうございました。

0 投票する
3 に答える
6139 参照

mysql - Grails でトランザクションを機能させる方法

まとめ 親は多くの子を持つことができます。親を追加した後、子を追加するときにエラーが発生した場合、トランザクション全体がロールバックされるようなサービスをどのように記述しますか。たとえば、親 p1 を追加し、子 c1 を正常に追加した後、子 c2 を追加するときにエラーが発生した場合、p1 と c1 の両方をロールバックする必要があります。

詳細な問題

次のコードでは、子の name プロパティに一意の制約があります。したがって、別の親に同じ名前を 2 回追加しようとすると、子レコードは追加されず、親レコードはロールバックされます。

私の問題は、親レコードがロールバックされていないことです。

Grails 1.2-M2 および Tomcat 6.018 で MySQL と InnoDB を使用しています。

情報源

次の単純なドメイン クラスがあります。

:

簡単なデータ入力 GSP

コントローラ

サービス

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

orm - GrailsGORMをスタンドアロンで使用する

現在、Grailsフレームワークの外部でスタンドアロンのGrailsからGroovyORMレイヤーを使用する方法を考えています。そのためのドキュメントエントリがありますが、ZIPファイルは空のページにのみリンクしています。Grails 1.2-M3をダウンロードしましたが、ドキュメントにも何も見つかりませんでした。

誰かが現在の状態が何であるか、そしてこれを達成する方法を知っていますか?