public void doWork(Session session) throws Exception { XorShiftRandom rng = new XorShiftRandom(seeder.nextInt()); Order order = new Order(); session.persist(order); for (int i = 0; i < 10; i++) { int productId = rng.nextInt() & 1023; Product product = (Product) session.get(Product.class, productId); OrderLine orderLine = new OrderLine(); orderLine.setOrder(order); orderLine.setProduct(product); session.persist(orderLine); order.getOrderLines().add(orderLine); } }