HABTM está sobrevendido. Muchas veces no cumple con las necesidades, como cuando tiene datos adicionales para almacenar. Será mejor que establezca una relación hasMany/belongsTo entre los modelos.
Tomado del Libro CakePHP:
En su caso, sugeriría hacer un LineItem
modelo y uniendo todo de esa manera:
Order
tieneMuchosLineItem
LineItem
pertenece aOrder
,Product