Una lista, si no hay una columna de índice especificada, solo será manejada como una bolsa por Hibernate (sin orden específico).
Una diferencia notable en el manejo de Hibernate es que no puede buscar dos listas diferentes en una sola consulta. Por ejemplo, si tiene una Personentidad que tiene una lista de contactos y una lista de direcciones, no podrá usar una sola consulta para cargar personas con todos sus contactos y todas sus direcciones. La solución en este caso es realizar dos consultas (lo que evita el producto cartesiano), o utilizar a en Setlugar de a Listpara al menos una de las colecciones.
A menudo es difícil usar Conjuntos con Hibernate cuando tienes que definir equalsy hashCodeen las entidades y no tienes una clave funcional inmutable en la entidad.