sql >> データベース >  >> RDS >> Oracle

HibernateのsaveOrUpdateはnull以外の列プロパティを無視します

    それは絶対に正しい行動です。

    not-null 属性には2つの意味があります:

    • スキーマエクスポートツールのサポート
    • 実行時にエンティティを確認します(つまり、データベースの列設定を確認しません)

    5.1を参照してください。マッピング宣言 、抽出:

    そして5.1.11。プロパティ 、抽出:

    したがって、クライアントがコードを実行すると、次のことが試行されます。

    getHibernateTemplate().saveOrUpdate(myEntity);
    

    myEntity not-null="true"として設定された一部のプロパティがありません ランタイム例外をスローするのは正しいです。テスト環境では、ほとんどの場合、プロパティを someに設定します。 null値ではありません。

    そして利点もあります。 DBとアプリは緩く結合されています。そのため、必要に応じて、DBに触れずに、アプリ側でより多くの制約を設定できます(たとえば、許可されていません)



    1. 節を持つことで2つの条件を作るにはどうすればよいですか?

    2. エラー2013(HY000):「認証パケットの読み取り」でMySQLサーバーへの接続が失われました。システムエラー:0

    3. SQLNonTransientConnectionExceptionEclipseでのMySQLとの接続

    4. アナリティクス、ビッグデータ、データマイニング、Hadoop、NoSQL、データサイエンスのトップFacebookグループ