OOP言語のクラスと同じ感覚で構造体のフィールド組むとライフタイムのトラブルに嵌る気がする
Rustの構造体は一緒に使うデータというより一緒に捨てるデータのイメージだから
ライフタイム無しの構造体:データベースのテーブルのレコード
ライフタイム有りの構造体:↑を参照するビューのレコード
みたいな設計を意識するといいかも(RDBほど正規化を気にする必要はない)
こうするとビューが参照するテーブルごとにライフタイムパラメータが存在する形になる
あくまで個人の考え方というか経験論だから参考程度に