The teams waited out a 2-hour, 14-minute rain delay prior to first pitch at Thomas Stadium, and the game itself went for 3 hours, 7 minutes.
ETSU (31-22, 16-10) pushed across two runs in the first inning on Derek Niesman's two-RBI double, but its bats fell silent until Hershey's heroics drove in the night's only earned run.
Junior Clinton Freeman (5-1) tossed five scoreless innings out of the bullpen to earn the win. The left-hander limited the Dolphins to three hits, tied a career high with six strikeouts and lowered his ERA to 0.50 in 20 relief appearances this season.
Adam Maxon (2-3) took the loss after allowing the one run on one hit in 1 1-3 innings of work.
Jacksonville ace Chris Anderson got the no-decision despite allowing two just two unearned runs on eight hits and striking out nine over 10 innings. ETSU starter Jimmy Nesselt also earned a no-decision after being charged with two unearned runs on four hits in seven innings. He struck out five and walked one.
In addition to Hershey, several other seniors made big contributions for the Bucs.
Niesman extended his hitting streak to 11 games with his two-hit night. Andrew Green played in his 220th career game to surpass former Bucs great Paul Hoilman (2008-11) for most games played in program history. He also reached base safely for the 18th consecutive game after going 2-for-5 with a run scored. Alex Reynolds, who scored the game-winning run after leading off the 12th with a four-pitch walk, reached base for the 16th straight conference game.
The Bucs, who totaled nine hits and won their ninth series of the season, moved into the No. 4 slot for the A-Sun tournament.
The Dolphins went 1-for-9 with runners in scoring position. Jacksonville (17-37, 8-18) still hasn't solidified its spot in the league tourney.
The teams will meet in the regular-season finale Saturday at 1:05 p.m.