SQLServer2008ビューからデータをプルする必要があるGrailsプロジェクトがあります。ビューから基本的な選択を行う必要があります。
ドメインクラスをビューにマップできるようなビューの構成設定はありますか?
または、次のような生のSQLを使用する必要があります。
db.rows("SELECT foo, bar FROM my_view")
SQLServer2008ビューからデータをプルする必要があるGrailsプロジェクトがあります。ビューから基本的な選択を行う必要があります。
ドメインクラスをビューにマップできるようなビューの構成設定はありますか?
または、次のような生のSQLを使用する必要があります。
db.rows("SELECT foo, bar FROM my_view")
SQLを使用できます。たとえばgroovy.sql.Sql
、他の同様の質問の回答で提案されているように、SQLを使用できますが、ドメインクラスでも使用できます。ドメインクラスを作成し(適切な名前を使用)、そのテーブル名をビューの名前として指定すると、そこから選択できます。もちろん、作成と更新で問題が発生しますが、読みたいだけの場合は問題ありません。
class SomeDomainClass {
String foo
Integer bar
static mapping = {
table 'my_view'
}
}
クラスにMyViewという名前を付ける場合、命名規則が適用されるため、マッピングは必要ありませんが、ビューに裏打ちされているという事実とは関係がないため、これはクラスにとって不適切な名前になります。
「create」、「create-drop」、または「update」に設定されたdbCreateを使用する場合にも問題が発生することに注意してください。これは、Hibernateがテーブルを作成しようとするためですが、実際の問題は発生せず、無視できるものを表示するだけです。 「テーブル'my_view'はすでに存在するため、作成できませんでした」などのエラー。そして、データベース移行の使用に移行すると、これはまったく問題になりません。