問題タブ [schemaexport]

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 投票する
1 に答える
842 参照

nhibernate - 生成されたプロパティを持つNHibernateSchemaExport

SchemaExportに生成されたプロパティのID列を生成させる方法があるかどうか疑問に思っています。

上記のマッピングでは、ShcemaExportはOrderNumber列をIdentity列にしません。

グレッグ

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

nhibernate - SchemaExport、NHibernate、および外部キーの削除

マッピングを作成し、スキーマ エクスポートを使用して DB を更新しています。ただし、マッピング内の関連付けを削除すると、関連付けがマッピング内になくなるため、SchemaExport を実行しても、削除された関連付けの外部キーは削除されません。これは、その外部キーに関連付けられたテーブルの削除に失敗することを意味します。さらに、テーブルを再作成できず、「データベースに Foo という名前のオブジェクトが既に存在します」という例外が発生することを意味します。スキーマ エクスポートを介してテーブルを総当たり削除する方法はありますか?

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

hibernate - Hibernate: *.hbm.xml ファイルを別のフォルダーにマップする方法は?

hibernate.cfg.xml ファイルの同じフォルダーにいくつかの *.hbm.xml ファイルが配置されています。ここで、このフォルダーのサブフォルダーにある他の *.hbm.xml ファイルをマップしたいと思います。どうすればできますか?ありがとう!

これが私の一部ですhibernate.cfg.xml

これは私のAntファイルの一部です:

ここに私のフォルダ構造があります



[編集]

モーリスが提案したように、私は最初に試して失敗しました。行を次のように変更しました

それでも同じエラーが発生します:

そして、Mark が提案したように、自分の schemaexpoert に追加してみました。その後、私の「A.hbm.xml」も見つかりません。エラーを出す:

私の SchemaExportTask は次のようになります。



【解決済み】

結論は、私は本当に愚かだったということです。別のディレクトリにいることとは何の関係もありませんでした。テスト段階で一度に 2 つのことを変更していたので混乱し、それをすべて無害な「ディレクトリの変更」のせいにしました。みんなの時間を無駄にしてごめんなさい。

誰かが興味を持っているなら、ここに何が起こったのか. ローカル DTD ファイルを使用して XSLT 変換を行い、ローカル DTD ファイルを相対パスで XSL ファイルに指定しました。しかし、生成された hbm.xml ファイルを別のディレクトリに配置しました。そのため、SchemaExportTask は DTD ファイルを見つけることができず、新しい hbm.xml ファイルの解析に失敗しました。そして、なんらかのばかげた理由で、次のまったく異なるエラー メッセージが同じことを意味していると思いました....人々が正当な理由でエラー メッセージを書いたことを思い出させてくれた Mark に感謝します! 追加filesetは今でも機能しませんが、エラーメッセージを読むことはわかっています...すぐに修正すると確信しています。=.=''

0 投票する
5 に答える
4759 参照

asp.net - NHibernateはdbスキーマが生成されているかどうかを確認できますか?

したがって、初心者のNHibernateユーザー。私の脳を包み込もうとしています。

デプロイを処理する方法と、後でWebアプリにアドオンを挿入する方法を検討しています(独自の永続性クラスが必要になる場合があります)。

デプロイメントに使用SchemaExportすることはかなりうまくいくと思っていましたが、NHibernateに、スキーマのエクスポートがすでに行われていることを一般的なコードベースの方法で教えてもらう方法があるかどうか疑問に思いました。基本的に、私はこの擬似コードのようにsmethingを実行したいと思います。

ここで、2つの関数はそれぞれ内部でSchemaExportまたはSchemaUpdateを使用します。


編集:みんな、私はこれまでのところ答えに感謝していますが、彼らは少しポイントを逃しています。私が設定しようとしているのは、データベースへの変更が必要になる可能性のあるアドオンの追加と削除をアプリケーションで許可する方法です。私は自分のコードなどのバージョン管理について話しているのではありません(少なくとも、その主要な機能としてではありません)。したがって、問題は、アプリをいつデプロイするかではなく、プラグインをいつ追加または削除するかについてです。theisプラグイン(したがって、擬似コードタイプチェック)は以前にデプロイされましたか?その場合は、更新を実行します。そうでない場合は、エクスポートを実行します。わかる?

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

.net - NHibernate SchemaExportおよびConfigure()catch-22

新しいプロジェクトでDDDを使用し、最初にクラスをモデル化してから、クラスライブラリに基づいてデータベーススキーマを生成したいと思います。私の計画は、NHibernatehbm2ddlツールを使用してこれを行うことですSchemaExport

SchemaExport問題は、 catch-22の奇妙な問題が原因で、を機能させることができないことです。には、有効なNHibernate構成ファイルとデータベースマッピングのセットをSchemaExport必要とするオブジェクトが必要です。Configuration

ここでのキャッチ22は、Configure()を実行すると、文句を言うことです。"Could not determine the name of the table for entity 'MyEntity'; remove the 'table' attribute or assign a value to it."したがって、Configure()メソッドはテーブルが存在する必要がありますが、テーブルが存在しないために作成できないことにSchemaExport基づいてテーブルを作成することになっています。 Configurationtが存在します。

では、いったいどうやって、スローせずに実際に何か便利なことをするConfigurationために必要なマッピングを含む有効なNHibernateを作成し、作成するテーブルが見つからないと文句を言うのでしょうか?指定されたテーブルの存在についてデータベースをチェックしないようにオブジェクトを設定できる「モード」はありますか、それとも他に何かする必要がありますか?SchemaExportConfigure()SchemaExportConfiguration

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

nhibernate - NHibernate - SchemaExport ツール 質問?

SchemaExport ツールの使用時に生成されるオブジェクトを制御することはできますか? たとえば、EntityA、EntityB、および EntityC の NH マッピング ファイルがある場合、C を作成から除外するにはどうすればよいですか?

ロベルト.-

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

nhibernate - スキーマ エクスポートの効率的な使用

ORM フレームワークとして NHibernate を使用しています。実行時にロードするクラスを保持する必要があります。それらが持つデータの名前とタイプを保持するメタデータに従ってそれを行います。実行時にそれらのテーブルを構築するために、NHibernate ToolSet API の SchemaExport クラスを使用します。

次の 2 つの質問をしたいと思います。

  1. テーブルごとのラウンドトリップではなく、DBへの1回のラウンドトリップでNHibernateにすべての実際の作成を行わせる方法はありますか?
  2. SchemaExport ツールを使用するために、保持しているテンプレートからマッピング ファイルを表す動的文字列を作成します。これを行うより良い方法はありますか?たぶん、マッピング文字列がなくても?
0 投票する
1 に答える
3796 参照

nhibernate - FluentNhibernateを使用したSchemaExport

このコードに何か問題がありますか?何も生成されず、例外もスローされません。

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

nhibernate - Hibernate はテーブルを作成しません

上記のコードは、 name のデータベース Table を作成することになっています<ClassName>

しかし、それは作成していません。

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

fluent-nhibernate - 文字列を「nvarchar」ではなく「varchar」のSQL型に設定する

私は次のマッピングを持っています:

ただし、SchemaExportSQL Server 2008でデータベースを生成するために使用すると、生成されたスクリプトは長さを無視するため、実際にはvarchar長さは1になります。

.CustomSqlType("varchar 512")例外をスローします。そして、を定義せずにCustomSqlType、文字列はにマップされますnvarchar(これはプロパティを尊重しLengthます)。

助言がありますか?