MyBatisを使用してデータベースに保存する非常に単純なオブジェクトグラフがあります。私が新しいオブジェクトグラフ(2つの詳細を持つBatisNode)を作成する場合、子オブジェクトが作成されることを確認するためのコードを書くにはどうすればよいですか?ここでは詳細は以下のとおりです。MyBatisに子オブジェクトを挿入する
public class BatisNode {
protected int id;
protected List details;
protected String name;
//Constructor and getters.
}
public class BatisNodeDetail {
protected int id;
protected BatisNode parent;
protected String name;
//Constructor and getters.
}
はスキーマ:
CREATE TABLE node ( node_id int auto_increment primary key, name varchar(255) ); CREATE TABLE node_detail( node_detail_id int auto_increment primary key, name varchar(255) );
マッパー:
INSERT INTO node ( name ) SELECT #{name}; SELECT node_id id, name FROM node WHERE node_id=#{id};
アドバイスありがとうございます。これは私の最初のバティスプロジェクトです。これは2つのオブジェクトのためのかなりの仕事のように思えます。私はもっと実生活を持っています。休止状態はここでより良い選択でしょうか? – User1
その情報だけでHibernateとiBatisを決めるのは不可能です。オブジェクトの量はここでは重要ではありません(実際には私のアプローチはオブジェクトが多数ある場合にはより多くを支払う)。より関連性の高いのは、サービスメソッドで操作されるオブジェクトグラフの複雑さ、「汚れた」子オブジェクトの検出の必要性などです。iBatisはHibernate/JPAより軽い/単純/低レベルです。驚きや厄介なバグ)や欠点(複雑な使用事例の実装が難しい配管コード、電力と機能の追加が必要) – leonbloy