問題タブ [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 投票する
2 に答える
192 参照

nhibernate - 流暢なnhibernate記述から構築されたSQLiteDBは、null許容ではない列を生成します

テスト用のインメモリSQLiteDBを作成するための次のコードがあります。

これはほとんどの場合正常に機能しているように見えますが、残念ながら、すべての列がnull許容ではないものとして作成されています。

たとえば、2つのクラスがあります。

InternalFundおよびExternalFund。両方とも同じテーブルから継承しFund、両方とも同じテーブルに永続化します。

ExternalFund列がありますがManager_IDInternalFundありません。InternalFund残念ながら、これはSQL例外をスローするため、永続化できないことを意味します。

テストに参照整合性は必要ないので、すべての列をnull許容にすることができれば幸いです。

誰かがこれを行う方法を知っていますか?

ありがとう

Stu

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

nhibernate - SchemaExportと参照整合性制約のオフ

呼吸器コードでテストを実行すると、テーブルが削除および作成され、を使用したテスト用に新しいデータが追加されます。

new SchemaExport(_configuration).Execute(false, true, false);

ただし、これは参照整合性を強制します。本番環境ではこれで問題ありませんが、テストではこれをオンにしないようにする必要があります。

上記のコードでテーブルを作成するときにそれらを無効にする方法はありますか?

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

database - Hibernate の 1 対多のマッピング エラー - mappingBy が不明なターゲット エンティティ プロパティのエラーを参照しています

ドメイン オブジェクトからテーブルを作成して 1 対多のマッピングをテストしようとしていますが、mappedBy reference an unknown target entity property というエラーが表示されます。誰か見てもらえませんか?

ありがとう

従業員.java

FulltimeEmployee.java

契約従業員.java

FlightBenefit.java

従業員のステータス

hibernate.cfg.xml

エラー スタック トレース


お返事ありがとうございます。私はあなたが言及した変更を行い、session.save(flightBenefit)を Main.java に追加し、@JoinColumn アノテーションを使用して insertable = false、updatable = falseを追加するなど、他のいくつかの変更も行いました。Employee テーブルは作成されていますが、FlightBenefit は作成されておらず、エラーが表示されています

原因: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: テーブル 'TestSchema.flightbenefit' が存在しません

以下は、変更とスタックトレースが更新されたクラスです。

Main.java

フルタイム従業員.Java

FlightBenefit.java

スタックトレース

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

hibernate - H2 を含む SQL ステートメントの構文エラー

H2 データベースのいくつかの SQL ステートメントでエラーが発生しました。これらの sql ステートメントは Hibernate から取得されSchemaExportます: SQL ステートメントは次のとおりです。

たとえば、この行は H2 では実行されません。

エラーは言う:[ERROR] Caused by org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement : CREATE TABLE CONTACTS ( .... <<The same code from above>>

この SQL ステートメントを H2 で実行するにはどうすればよいですか。

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

spring - Hibernate をアップグレードした後の奇妙な自己参照制約違反

hibernate-entitymanagerSpringアプリケーションで使用しています。Hibernate のバージョンをアップグレード中です。正確なバージョンに絞り込みました: 4.2.1.Final から 4.2.2.Final (またはそれ以上) にアップグレードすると、単体テストを開始してデータベースを作成しようとすると、次のエラーが発生します。スキーマ:

このエラーはシステムの正常な動作を妨げるものではありませんが、システムにそのような厄介なエラーがあり、その説明がないため、明らかに本番環境に移行できません。

これは、テーブルがそれ自体に対して外部キー関係を持っているように見えIncidentますが、まったくそうではありません。

ここでエンティティの本質をコピーしてみます。Incident

これに光を当てるために皆さんを助けるために他に何か提供できることがあれば教えてください. 私はそれを何時間もいじりましたが、実りがありませんでした。あなたの助けをいただければ幸いです。

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

mysql - MySQL のデフォルトの主キー生成戦略は何ですか

AUTO_INCREMENTMySQL のテーブルに新しい行が挿入されたときに、属性を使用して主キーを生成しています。

MySQL のデフォルトの主キー生成戦略とは何か、またそれがどのように機能するのかを理解するのに誰か助けてもらえますか?

EDIT Hibernate にはnative、基盤となるデータベースの機能に応じて ID、シーケンス、または hilo を選択する識別子生成戦略があります。Javaデータ型のプロパティに対してhibernate.hbm2ddl.auto=update生成さid BIGINT(20) NOT NULL AUTO_INCREMENTれたMySQLを使用しました。idLong

AUTO_INCREMENTツールを使用したときにHibernateがどのように選択したかを理解しようとしていSchemaExportます。AUTO_INCREMENTMySQL のデフォルトの主キー生成戦略ですか?

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

c# - NHibernate SchemaExport が ntext 列を作成しない

SchemaExportデータベースとSQLスクリプトを生成するために使用する簡単なツールを作成します。単純なエンティティでは、1 つの文字列プロパティがSQL ServerDescriptionの列であると予想されますが、実際にはです。ntextnvarchar(255)

ここに画像の説明を入力

どの部分が間違っていたのかわかりません。アドバイスをいただければ幸いです。

以下は私のコードです。コンソールアプリを作成し、NHibernate実行するナゲットパッケージを追加するだけです。