Dúvida na inserção - fk (Anotações)

Olá a todos, estou tentando fazer a inserção de dados, onde tenho as classes Produto, Compra, ItensCompra. Para inserir faço desta forma:

Compra compra = new Compra();
compra.setDEntrada(new Date());
compra.setItens(new HashSet<ItensCompra>());
		
ItensCompra itens = new ItensCompra();
itens.setProduto((Produto)dao.carregar(Produto.class, new Long(2)));
compra.getItens().add(itens);
		
ItensCompra itens2= new ItensCompra();
itens2.setProduto((Produto)dao.carregar(Produto.class, new Long(1)));
		
compra.getItens().add(itens2);
dao.persist(compra);
		
//para inserir fk à tabela ItensProduto para cada item inserido(referente a compra)
itens.setCompra(compra);
itens2.setCompra(compra);
dao.update(itens2);
dao.update(itens);
		

Bom, quando faço a persistência da compra automaticamente não teria que estar salvando a id da compra aos itenscompra?
Para salvar id da compra, estou fazendo o update nos itens. Seria assim mesmo, ou será que está faltando algo nas minhas anotações??