MyBatis for Javaでのマッピングに問題があり、助けていただければ幸いです。私のクラス構造は次のとおりです。
//Getters/setters omitted for clarity
class Foo
{
int id;
Bar bar;
}
class Bar {
String x;
int y;
}
私のテーブルは次のようになります。つまり、クラス構造から非正規化されています。
create table foo_bar (
id int,
x varchar,
y int
);
私の作業中の挿入ステートメントは、(bar.x、bar.y)パラメーターを使用して非正規化することができます。
<insert id="insert" parameterType="foo">
<![CDATA[
insert into foo_bar
(id, x, y) values
(#{x}, #{bar.x}, #{bar.y})
]]>
</insert>
だから、問題:
selectを実行するとき、結果のオブジェクトをBarへの参照を持つFooのインスタンスにします。
これは単一の列で機能するため、型ハンドラーを使用できないと思います。また、「Bar」は外部キー関係を介してデータベースで明示的に表されるエンティティではないため、関連付けは意味をなさないようです。
誰かがこれを行うための推奨される方法を教えてもらえますか?
ありがとう!