DDDとクリーンアーキテクチャでシステムを設計しているのですが、マスタテーブルに永続化されているValueObjectの扱いについて困っています。

ProductEntity{id,name,price,rank}
があります。rankはpriceの値を元に決められます。
DB的にはランクテーブルがあり、基準価格とその基準でのランクを保持しています。
(例 0円以上はランクA、5000円以上はランクB、10000円以上はランクC)

既に永続化されている状態から、priceを元にrankを探すのはProductRepositoryが行えるので問題ありません。

問題となるのは、Productを生成するFactoryでランク情報が取得できない点です。
新規商品を追加する際に、外部からinputされる情報はnameとpriceのみです。

ユースケースではValueObjectであるRankを直接取得できないためProductEntityが生成できません。
RepositoryやServiceは外部のデータを引数に取ることはできない=ドメインモデルを引数に取るということで、新規Entityを作成し、それを永続化するという部分が実装できません。

このような場合はなにかうまい実装方法があるのでしょうか?
それとも設計がおかしいのでしょうか?