Didn’t God promise Israel that they would hold the promised land forever? And didn’t He promise David an heir on the throne forever? I know that God can’t lie, but for most of the last 2,000 years, neither has occurred. Why wouldn’t forever include those years as well?
When God gave the promised land to Abraham and his descendants, it was forever (Genesis 17:8). But in order to dwell there in peace they had to be obedient to His commandments (Exodus 19:5-6). When they were taken to Babylon for 70 years it was for failure to keep His commandments. So while the land was an unconditional grant that lasts forever, dwelling there in peace is conditional upon their obedience.
In the time leading up to the Babylonian captivity, the kings of Judah had become so evil that the Lord finally cursed the royal line and said no descendant of theirs would ever sit on David’s throne again (Jeremiah 22:30). In Ezekiel 21:25-27 God explained that the office of King was being suspended until the one to whom it rightfully belongs comes to claim it.
According to the angel Gabriel that one is Jesus (Luke 1:32). The first time He came they rejected Him and so for most of the past 2000 years they’ve been out of the land. Soon He’ll return and this time they’ll accept him (Zechariah 12:10). When they do, they’ll be able to live peacefully in the land again, and this time it will be forever.