если переведете гуглом документацию по OWCS (Oracle) и попробуете разобрать что там написано, то там как раз реализована такая модель; раньше таблицы их баз данных по какой-то причине не могли хранить больше 6 полей, или что-то в этом роде, не суть
https://docs.oracle.com/cd/E29542_01/doc.1111/e296...
как они обошли это: создали один единственный объект Flex Asset, который имеет 6 полей, то есть и ваш товар и ваши свойства становятся объектами одного и того же класса asset, и у каждого из них есть родитель
то есть вы создаете asset типа "товар" и asset типа "свойство", и в "свойстве" указываете родителя - asset типа "товар", получается обычное дерево и вы цепляете свойства к товару через поле "родитель"
в базе данных это выглядит как одна таблица, в которую записываются объекты разных типов, но одного и того же класса; в самой OWCS это даже реализовано через drag and drop, очень удобно
если все равно не понятно, то спрашивайте что именно