关于hibernate中一对多批量插入数据的疑问?

有两个表A,B,外键在B表中:
现通过查询A表中的某条记录后,从其他地方(2w条)每次得到30条数据后,如何有效向B表中插入数据?先谢过!

...
String hql="SELECT a FROM A a";

Query query=session.createQuery(hql);
List<A> list=query.list();
for(A a:list)
{
session.beginTransaction();
for(int i=0;i<30;i++)
{
B b=new B();
...
a.getBList.add(b);
b.setParent(a);

}
session.save(A);
session.getTransaction().commit();
}

这样写可以么?

使用Hibernate的批处理语法