A San Diego-based U.S. Navy sailor finally returned home Thursday after a long deployment and surprised his 5-year-old son at school with a long-awaited hug.

3rd Class Petty Officer Cameron Griggs surprised his son, Luke, with a visit to his classroom. Luke had no idea his dad was coming home.

As Luke sat on a rug listening to his teacher, Griggs quietly sat beside his son. When the boy looked over and saw his dad, he was speechless, and then threw himself into Griggs’ arms.

“Hey, buddy,” said Griggs.

Luke looked as if he was dreaming.

“Daddy,” said the boy.

“Who’s that, Luke,” asked his teacher.

“My daddy,” he said.

“Where has your daddy been?”

“On a ship,” said Luke, clinging tightly to Griggs.

It was the moment both Griggs and his young son had been anticipating for the past seven months.

Griggs told NBC 7 San Diego he couldn’t control his emotions upon seeing his smiling little boy.

“I definitely got caught up once I saw him. I mean, I missed him to death. I’ve been waiting a long time to see him, and today is finally the day,” said the sailor.

Before surprising Luke at school, Griggs got a big surprise of his own.

His pregnant wife, Tamra Griggs, was the first person to see him and prior to his arrival, the wait was unbearable for the Navy spouse.

“These are going to be the longest five to 10 minutes,” said Tamra.

Once the couple laid eyes on each other, they embraced as a crowd cheered.

Soon, Griggs noticed Tamra’s pregnant belly, which he hadn’t seen in person in a while.

“I didn’t think she was going to be this big,” said Griggs, patting Tamra’s stomach.

Griggs was deployed when Tamra was just one month pregnant. Now, she’s eight months along and grateful her husband has made it home for the birth of their second son, who is due in December.

“It was stressful, worrying about her constantly. Always doctor trips, doctor trips and I wasn’t there for it. I felt really bad,” said Griggs.

Finally, the growing Griggs family is together once more, and ready to expand their family of three into four.

