地図、私は次のようにはFooをマッピングしたいので:問題は、データベースの設計が悪いです私はFooのを呼び出しますオブジェクトを持っている別の名前を持つ別の表の主キー以外に主キー
Foo
-FooId (PK)
-Country
-Name
-Amount
ので、私はノーリンクテーブルを持つ2つのテーブルがあります:私は休止状態とJavaの古いバージョンを使用していますので、私は注釈へのアクセスを持っていない
Foo (TABLE)
-FooId (PK)
-CountryId (problem child here) - COUNTRY_ID
-Name
-Amount
FooCountry (TABLE)
-CountryId (PK)
-CountryName
-ActualCountryId (I want to tie this to the "Foo" CountryId) - ACTUAL_ID
を、それがすべてでは昔ながらのXMLで行う必要がありますマッピング。
つまり、 "CountryId"列を "ActualCountryId"列にマップし、それに基づいてFooCountryテーブル内の完全な値(最初の例のように "Country")を取得します。私は "ActualCountryId"列が一意であるとは確信していますが、それはDB内でそのようにコード化されていません。通常のプロパティ列です。
誰もこのトリックを把握できますか?
編集:追加のボーナスとして、私はFoo内で "Country"オブジェクトをどのように定義しますか? FooCountryとして?
編集:これは、フー・XMLクラスエリア内の私のマッピングです
<key-many-to-one name="countryId" class="FooCountry" property-ref="actualCountryId" column="COUNTRY_ID" />
私はまた、両方のテーブルのカラム名を追加しました。
FooCountryは通常のエンティティとしてマップされています。これを試してみます。 – Organiccat
"Attribute 'property-ref'が使用されましたが、宣言されていません。エラー、クラスファイルのマッピングが正しくありませんか?または全体的なマッピングですか? – Organiccat
あなたは私が必要とするものが正しいです、btw。私が使用している特定のタグは、Hib v3.0でキーと多対1です。 – Organiccat