Tratare de ser lo mas claro con mi duda.
Lo que entiendo que se quiere hacer es una entidad de unión (items_pedido) que relacione las entidades "pedidos" y "productos", esta entidad de union no solo va a tener los campos "id_pedido" y "id_producto" sino otros adicionales y es por esto que no se usa la etiqueta @ManyToMany y @JoinTable en la entidad pedido hacia la entidad producto.
Sino que para crear esta entidad de unión con los campos que se quieran se crea esta entidad desde una clase (ItemsPedido). Desde esta entidad se le crean los atributos adicionales que se quieren (id, precio_unitario, cantidad) y se hace una relación @ManyToOne hacia las entidades que se quieren relacionar.
Lo que no logro entender bien es por que en la entidad "Pedido" se agrega la etiqueta @OneToMany(mappedby="pedido") y esto deja el diagrama entidad relación como lo muestra el instructor al principio. Y por que esto no se hace también en la entidad "Producto"? Ademas, por que esto no hace que se genere un atributo en la entidad "Pedido" ya que básicamente se esta declarando un atributo lo que representa un campo o columna del atributo? O si esta creando este atributo?