0
私はScalaで宣言された以下のHibernateテーブルを持っています。 2つのキー(ではなく、の2つの複合キーがあります)があります。私は@Id
アノテーションを使って各キーを識別していますが、複数の属性を持つキーが1つの場合に使用するアノテーションのようです。 2つの独立したキーがあることをHibernateに伝えるには?Hibernateテーブルで2つのキーを定義する方法は?
@Entity
@Table(name = "dates")
class Dates {
@Id
var sk: Int = _
@Id
var theDate: LocalDate = _
@Column(name = "is_holiday")
var isHoliday: Int = _
var year: Int = _
var month: Int = _
var day: Int = _
}
これは意味をなさない。 '@ Id 'で注釈された属性は、エンティティの一意の識別子であり、複数のものは存在してはいけません。問題のある特定のユースケースを提供してください。 – galovics
ユースケースは質問に記載されているテーブルです。私は日付のテーブルを持っています。ここで、キーは日付そのものですが、日付を持つ他のテーブルに外部キーとして保存するのに使う代理キーです。 – ps0604
しかし、あなたのコメント '@ Id 'からわかるように、テーブルに定義されているPRIMARY KEYを反映しているので、2つのテーブルを持つことはできません。 2番目はインデックスになる可能性があります。 – ps0604