Appendix E. Where to Go Next

There are a number of ways you can dig deeper into the capabilities of Hibernate and the other ways it can be used. Here are some good choices; pick the ones that best suit your needs, learning style, and time frame.

Online Manuals

All of the tools mentioned in this book have good online documentation. If you have a basic idea of how to use the package, the online reference can give you the details you need to accomplish specific tasks. Look for the Documentation links prominently featured on each package’s home page.

Books

A more complete and in-depth discussion of Hibernate can be found in Java Persistence with Hibernate by Christian Bauer and Gavin King (Manning Publications). As the creators of Hibernate, they’re very familiar with the details, though they sometimes assume a fairly deep proficiency with database concepts.

To help gain that proficiency, you might also want to pick up Java Database Best Practices by George Reese (O’Reilly), or at least read the chapter we mentioned in Chapter 4 that is available online.

For an in-depth reference covering Apache Maven, read Maven: The Definitive Guide from Sonatype. To learn more about Apache Ant, pick up a copy of Ant: The Definitive Guide by Jesse E. Tilly and Eric M. Burke (O’Reilly), or the more recent Ant in Action by Steve Loughran and Erik Hatcher (Manning).

For more information about the Spring Framework, pick up a copy of Spring: A Developer’s Notebook by Bruce Tate and Justin Gehtland (O’Reilly) or a copy of Professional Java Development with the Spring Framework by Rod Johnson, Juergen Hoeller, Alef Arendsen, Thomas Risberg, and Colin Samplaneau (WROX). While the authors of this book might be partial to the O’Reilly title, we wanted you to know that the WROX book is written by the people who created and maintain the Spring Framework.

Source Code

As with any open-source project, the ultimate arbiter of truth is the source code, and you can learn a lot by looking at it—and not just about the task you’re directly focused on. And of course, as Java packages, the JavaDoc that gets generated from the source is a valuable reference. If you are working in Eclipse, it is well worth downloading the projects’ source distributions, and telling Eclipse where the source trees are for each of the library JARs. This will enable full popup JavaDoc as you’re completing class and method names and arguments, and enable you to dive into the source for each element by hitting F3, just as if it was part of your own project. We find this a terrific orientation and learning aid.

Tip

If you are using Maven and running the eclipse:eclipse goal, you can download both source and JavaDocs using the following command:

mvn eclipse:eclipse -DdownloadSources=true  -DdownloadJavadocs=true

This may take some time to download all of the source and JavaDoc bundles for each dependency. Once you have the source and JavaDoc in your local Maven repository, you’ll be able to view source code and JavaDoc for dependencies within the Eclipse IDE. Source and JavaDoc artifacts exist for most (but not all) widely-used open source libraries.

Dealing with Newer Releases

Changes are always a problem for a printed book, so you should expect to run into a few snags with new releases of all the software we cover. The examples in this new version of the book are based on the following specific versions of the various tools discussed:

  • Ant 1.7.0 (least likely to be an issue)

  • Eclipse 3.3.1.1

  • Geronimo JTA 1.1 implementation

  • Hibernate 3.2.5

  • Hibernate Annotations 3.3.0.ga

  • Hibernate Commons Annotations 3.3.0.ga

  • Hibernate Tools 3.2.0 beta 9a (most places)

  • Hibernate Tools 3.2.0.GA (Chapter 11)

  • HSQLDB 1.8.0.7

  • Log4J 1.2.14 (also highly unlikely to cause issues)

  • Maven 2.0.8

  • MySQL 5.0.21

  • Spring Framework 2.5

  • Stripes 1.4.3

Newer releases may change the way things work, sometimes in backward-incompatible ways. That’s part of the fun in keeping up with active open source projects. The Maven specifications we provide should help you find the specific versions we used, which will help with the learning and experimentation process. You can then check the packages’ release notes for ideas on when and how to move up to the latest and greatest.

You can also watch the Errata page on the book’s site to see if anyone has encountered your issues and found a solution. If not, please submit your own discoveries to share with others!

Hibernate and HSQLDB each have an online support forum that can be valuable for dealing with incompatible changes, or just plain learning your way around the more complex aspects of the tools.

Getting Involved

One of the great things about open source is that you are not just using software, you are participating in a community. If you use Hibernate, Spring, Ant, Maven, or Stripes, you should sign up for the user mailing list to keep up with changes and new releases. If you need to customize the source code and you would like to contribute your changes back, all of these projects have very mature communities for integrating your changes. After you are comfortable with a technology, take some initiative and contribute a few documentation patches to the developer mailing list. Don’t be afraid to get involved; open source thrives on independent initiative. You don’t have to ask anyone’s permission in contributing to these projects—all you have to do is show up and start participating.

To learn more about the community behind Hibernate, and to start participating in the project, go to the Hibernate website at http://www.hibernate.org. You can sign up for Hibernate user and developer mailing lists or read the support forums by following the instructions on this page: http://www.hibernate.org/20.html. The Hibernate team has a very active blog which you can read at http://blog.hibernate.org/. Add this blog to your favorite RSS reader—it is a great way to keep abreast of the related technologies (such as Seam and Hibernate Shards) which Gavin and others are actively developing.

The Spring Framework is associated with a company called Spring Source (http://www.springsource.com) which employs a number of core contributors to the Spring project. For more information about the Spring Framework community you can visit http://www.springframework.org. If you would like to sign up for mailing lists or get your hands on the source code to the Spring Framework, you’ll want to read the information on the development page which is available at http://www.springframework.org/development. If you are really excited about the Spring Framework, you should consider attending Spring Source’s annual conference, The Spring Experience. Information about Spring training is available on the Spring Source company web site, and information about The Spring Experience is available from the conference site, http://www.thespringexperience.com/.

Apache Ant and Apache Maven are two top-level projects operating within the Apache Software Foundation (ASF). For information on the large community of developers working within the Apache Software Foundation, check out the foundation’s web site at http://www.apache.org. Apache is a massive organization that is responsible for some of the most widely used software projects in the world, from the ever-popular Apache web server and Tomcat application server to the Jakarta Commons libraries. To learn more about the development community surrounding Apache Maven, go to the project web site, http://maven.apache.org. To learn more about the development community surrounding Apache Ant, go to Ant’s project web site at http://ant.apache.org. Both Ant and Maven have very active communities and offer high-traffic user and developer mailing lists.

Stripes’ home page is located at http://www.stripesframework.org/. You’ll find tutorials, reference documentation, and JavaDoc at that site. The interface to sign up for the SourceForge mailing lists is at https://sourceforge.net/mail/?group_id=145476. For Java language geeks, browsing through the source code of Stripes can be a fun experience since it’s written by someone who clearly knows and uses Java’s current feature set. I highly recommend downloading the Stripes source package and poking around, mostly just for fun.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset