DBT Job dependencies

The problem I’m having

I have 5 Dimension Tables(DIM_1,DIM_2,DIM_3…) which and 2 Fact tables(Assume FACT_1,FACT_2)
The Dimensions tables DIM_1 and DIM_2 are being used in FACT_1 and FACT_2

Schedule is to run my Facts every 3 hours, which approach will work please suggest,
Approach 1:
If I create 2 separate jobs(with below commands) and trigger them separately, I think my DIM_1 and DIM_2 will be triggered parlley
dbt build --select +FACT_1
dbt build --select +FACT_2

Approach 2:
Create separate jobs for Dimwnsions(DIM_1,DIM_2…) and Facts(FACT_1,FACT_2) respectively
In Fact job which command which command I have to give
If I give “dbt run --select FACT_1” even though we would have given ref(DIM_1) Fact job will not wait for successful run of DIM_1 job, please advise which command I have to give in this case

Thanks in Advance

Can you clarify which of the four (or all) tables you want to refresh on your 3 hour schedule?

Have you considered configuring (and selecting) by tags?