Symfony2 Doctrine consigue un producto al azar de una categoría

Tengo el siguiente esquema de base de datos:

table 'products'
id
category_id

y por supuesto una tabla de categorías, solo con un id.

Los datos se ven algo así:

Products
--------------------
| id | category_id |
--------------------
| 0  | 1           |
| 1  | 1           |
| 2  | 1           |
| 3  | 2           |
| 4  | 2           |
| 5  | 1           |
--------------------

Me gustaría seleccionar una categoría (por ejemplo, Categoría 1), así que selecciono todas las filas de esa categoría en mi clase de repositorio de productos:

return $this
    ->createQueryBuilder('u')
    ->andWhere('u.category = :category')
    ->setMaxResults(1)
    ->setParameter('category', $category->getId())
    ->getQuery()
    ->getSingleResult()
;

¿Cómo puedo seleccionar ahora un producto al azar? También: ¿Es posible resolver esto a través de Relaciones?

Tengo una relación OneToMany entre las entidades "Categoría" y "Producto", por lo que también podría obtener todos los productos a través de la categoría-> getProducts () ...

Cualquier ayuda sería realmente útil, gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta