Hibernate数据库插入顺序如何控制?
public void testAddChild() {
NodeDAO ndao = new NodeDAO();
Node node = ndao.findByID(5);
Node n1 = new Node("grade 1","grade");
Node n2 = new Node("grade 2","grade");
Node n3 = new Node("grade 3","grade");
node.addChildNode(n1);
node.addChildNode(n2);
node.addChildNode(n3);
HibernateUtil.commitTransaction();
HibernateUtil.closeSession();
}
其中 Node对应表有auto_increment的id自段,generator=native,执行操作后,数据表中结果如下:
mysql> select * from node;
+----+---------+--------+----------------+
| ID | NAME | TYPE | PARENT_NODE_ID |
+----+---------+--------+----------------+
| 5 | myschool| school | NULL |
| 14 | grade 1 | grade | 5 |
| 12 | grade 3 | grade | 5 |
| 13 | grade 2 | grade | 5 |
+----+---------+--------+----------------+
并不保证先创建的Node得到最小的id,怎么做才能保证如下结果
mysql> select * from node;
+----+---------+--------+----------------+
| ID | NAME | TYPE | PARENT_NODE_ID |
+----+---------+--------+----------------+
| 5 | myscholl| school | NULL |
| 12 | grade 1 | grade | 5 |
| 13 | grade 2 | grade | 5 |
| 14 | grade 3 | grade | 5 |
+----+---------+--------+----------------+