私はこれらの2つのテーブルに外部キーを持たないレガシーデータベースを持っています。したがって、驚くことではないが、結合テーブルはありません。Hiberate多対多の結合テーブルまたは外部キーなし
私は両方のテーブルがBookingIdsごとに多くのレコードを持っているので、私はこれらのテーブルのいずれかで外部キーを作成することはできませんので、今は結合テーブルを作成することはできません。または何とか私は間違っていますか?
BookingsTable
ID - primarykey
BookingId (this is what I need to join on)
BookingLocationsTable
ID - primaryKey
BookingId (this is how I would join)
私は流暢なnHibernateでこれらのテーブルに多対多の関係を作りたいと思います。
これは不可能ですか?
ジョインで簡単なクエリを試してみることをお勧めしますか?
もしこれらのテーブルがドメインにとって不可欠なので、私はhibernate/nhibernateを一切放棄しなければならないかもしれません。
おそらく、データベース/テーブルをnHibernateの使い方を再構成する必要がありますか?
'BookingsTable' 1つがある' BookingId'と 'BookingLocationsTable'があまりにも、1持って、あなたは' BookingId'が等しい場合、この2つのテーブルのエンティティを関連付けるしたいですか?もしそうなら、私はむしろ多対多ではなく二対多の対等であると言うでしょう。そうであれば教えてください。このようなマッピングを書くことは可能です。 – NOtherDev
@ NOtherDevあなたはあなたが正しいと思います。一般的には、多くの人がmanysに2 1と論理的に同じことが多いようですね? – iKode
@NOtherDevこれが2対1の関係であっても、いずれの表のbookingId列にも外部キーを作成できないため、これはnHibernateを使用できません。私が作ることができない関係。 – iKode