2011-07-28 24 views
0

Hibernateでは、Javaプリミティブ型を使用してエンティティ列の1つを別のテーブルに結合できますか?例えばHibernateプリミティブ型マッピング

@JoinColumn(name = "ITEM_ID", referencedColumnName = "LABEL", insertable=false, updatable=false, table="ITEM_DATA") 
private String itemLabel; 
私はちょうど負荷上のアイテムのラベルを必要とする

、私はこの問題を回避するために使用できる任意の注釈がありますか?

あなたの答えを楽しみにしています。あなたがすることができ、事前

答えて

1

ありがとう:

1)(これはに応じて、あなたにアップデートしていくつかの問題を与えることができ、そのプロパティを持つデータベース内のビューを作成し、そのプロパティにエンティティをマッピングしますDB使用)

2)適切なFKで、ITEM_DATAテーブルにマップされたクラス()にItem_Dataプロパティを追加し、getLabelプロパティをラップ:

public virtual string getItemLabel{ get { return Item.label; } } 

とにかく、正しいプロパティを得るためには、hibernateが結合をしなければならないので、将来もっと多くのプロパティにアクセスする必要がある場合に備えて、少なくともオブジェクト全体を持ってください。

+0

2。そのオブジェクトをメモリにロードするのは高価すぎるので、なぜ私はStringを使いたいのですか?回答ありがとうございました – Pinchy

+0

遅延ロードを使用しましたか?常にプロパティを使用していない場合、その方法では、オブジェクトをロードするときにオブジェクトをロードするだけです...またはビューのために移動します – jasalguero

+0

私は怠け者を使用しました。まあ、私は間違っていると思います。私はあなたが言うようにpojoを使用しなければならない。 Thnks – Pinchy

関連する問題