Hibernate - Dúvida em Mapeamento de Chave Estrangeira

Pessoal,

Estou fazendo um gerenciador de bookmarks onde tenho uma categoria raiz (pasta) que pode possuir zero ou mais categorias filhas (subpastas) e zero ou mais entradas (URLs).

Estou mapeando as entradas na entidade “categoria” assim:

(...)
	    <list name="entries" table="bmark_entrada" lazy="false">
	    	<key column="id_categoria" />
	    	<index column="id_entrada" />
	    	<one-to-many class="domain.BookmarkEntry" cascade="all" />
	    </list>
(...)

E mapeando a entidade “entrada” assim:

<hibernate-mapping>
	<class name="domain.BookmarkEntry" table="bmark_entrada">
		<id name="id" column="id_entrada">
			<generator class="native" />
		</id>
		<many-to-one name="user" column="nome_usuario" class="domain.User" />
		<property column="nm_entrada" name="name" />
		<property column="url_entrada" name="url" />
	</class>
</hibernate-mapping>

Quando adiciono uma nova entrada em uma categoria já existente, por exemplo:

categoria.getEntradas().add(novaEntrada);

E mando salvar essa categoria, a chave estrangeira da entrada (bmark_entrada.id_categoria) não é populada. Só consigo fazer isso declarando-a explicitamente no mapeamento da entidade “entrada” e populando-a programaticamente:

categoria.getEntradas().add(novaEntrada);
novaEntrada.setIdCategoria(categoria.getId());

Minha dúvida: o atributo de cascade=all no mapeamento da Categoria não deveria tomar conta disso de forma transparente?

Obrigado!

Ninguém? :?