- - PR -
Hibernateで実際のテーブル定義とXMLの定義ファイルが異なる場合
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-09-22 21:11
Hibernateで開発しておりますが、以下のような場合、どうなるかご存知の方いらっしゃいましたら教えてください。
テーブルA フィールド1 PK フィールド2 フィールド3 上記に基づいてXMLの定義ファイルを書いています。 そこで、テーブル定義を以下のように変更します。 テーブルA フィールド1 PK フィールド2 複合ユニーク制約 フィールド3 複合ユニーク制約 XMLの定義ファイルを変更しないままですと、やはりアプリケーションに多大なリスクが発生するのでしょうか? 実際のテーブル定義とXMLの定義ファイルが不一致の場合に関する記事などがありましたら、ぜひ教えてください。 |
|
投稿日時: 2005-09-23 01:42
一意制約の場合はあまり影響ないと思いますよ。
Hibernate側で何かするわけではなく、スキーマ生成時に制約を 張るためだけにあると思っています(正確なとこは自信ないですが)。 一意制約に違反する場合は、save()やflush()などの呼び出しで エンティティが書き込まれるタイミングで例外が発生します。 ただし、主キーと違って多くのgenerator(sequence等)ではsave()の 呼び出しが成功した後で、flushされた時に例外が飛ぶような動きに なったはずなので注意した方がいいかもしれません。 |
1