Hibernate is an interface layer between Java (or .NET) and a database. Saving a change in a record in a table from Java through Hibernate to a database is as easy as creating a Session, then a SessionFactory which is a new Configuration, which you configure using buildSessionFactory. The session is your new factory, and you open a session with it. Then, create a new transaction which begins a transaction in the session.
Dog dog = (Dog)session.get (Dog.class, new Long(1));
Then update your object, say Dog, with the parameters you want, like .setBark and .setFurColor. Then use the .update function of your session, the .commit on your transaction, and finally close the session.
CCMenu is a nice small and clean build monitor. And it turns out that with a plugin you can rig it up to play a music clip which changes depending on whether the build is red or green.
Git is an interesting beast. Hard reset is useful, and revert is easy to misuse but is still the best way to fix a broken build and get out of everyone's way (if it's not a merge that you're trying to revert). Fetch is useful for seeing the differences between your most recent pull and the most recent state of the origin master without having to commit and stash your local changes to prevent being overwritten.