Swing in itself does not offer any kind of reporting controls (unless you count JTable as a reporting tool). However Swing does have graphing capabilities which can be leveraged. There are many third part open source libraries which will help you generate reports. BIRT, Jasper,JFreeChart,Cewolf are a few which immediately come to my mind. Google will help you find more.
I do not really understand the point of swing and hibernate or jdbc.
Swing/reporting would be the visual component. A good design would dictate, that the data source/origin should be transparent to the visual component. I would suggest abstraction to make your life easier.
I personally use JFreeChart a lot. It is open source and easy to use. Just check out their API. That should give you a good idea on designing your framework