Невозможно выбрать между Hibernate и iBatis только с этой информацией. Количество объектов здесь не важно (на самом деле мой подход окупается больше, если объектов много). Более уместна сложность графов объектов, которыми манипулируют в ваших сервисных методах, необходимость обнаружения «грязных» дочерних объектов и т. Д. IBatis более легкий / простой / низкоуровневый, чем Hibernate / JPA, и это всегда имеет свои преимущества ( легче понять и поддерживать; меньше сюрпризов или таинственных ошибок) и недостатков (требуется больше программного кода, меньше мощности и возможностей, которые трудно реализовать в сложных случаях использования)
я есть очень простой объектный граф, который я хочу сохранить в базе данных, используя MyBatis. Если я создаю новый граф объектов (BatisNode с двумя деталями), как мне написать код, чтобы убедиться, что дочерние объекты созданы? Вот подробности:
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) );
Mapper:
INSERT INTO node ( name ) SELECT #{name}; SELECT node_id id, name FROM node WHERE node_id=#{id};