設計の観点から問題を検討します。Hibernate がそれらを良いか悪いかだけで判断するわけではありません。本当の問題は、自然キーはデータの適切な識別子として適しているかということです。
あなたのビジネス モデルでは、現在、データの一部によってレコードを識別するのが便利な場合がありますが、ビジネス モデルは時間とともに進化します。これが発生すると、データを一意に識別するために自然キーが適合しなくなっていることがわかります。また、他のテーブルの参照整合性により、変更が非常に難しくなります。
サロゲート PK を使用すると、ストレージ内でのデータの識別方法がビジネス モデル構造と連鎖しないため便利です。
シーケンスから自然キーを生成することはできず、そのデータによって識別できないデータのケースははるかに頻繁です。これは、自然キーがストレージ キーとは異なることの証拠であり、一般的な (そして適切な) アプローチとして採用することはできません。
代理キーを使用すると、アプリケーションとデータベースの設計が簡素化されます。それらは使いやすく、パフォーマンスが高く、完璧な仕事をします。
自然キーには欠点しかありません。自然キーを使用する利点は 1 つも思い浮かびません。
そうは言っても、休止状態には自然な(構成された)キーに関する実際の問題はないと思います。しかし、hibernate コミュニティは代理キーの利点を広く認めているため、おそらくいくつかの問題 (またはバグ) や、ドキュメントの問題、またはヘルプの取得に関する問題を見つけることになるでしょう。では、複合キーを選択した理由について適切な回答を用意してください。