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:
OrdertieneMuchosLineItemLineItempertenece aOrder,Product