[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ITP hibernate, hsqldb, xdoclet



I thought that Java on Debian was pretty much dead, glad to see I was mistaken.

I'm currently Debianizing a number of Java package that I've been using locally. I made them apt-friendly, but they were otherwise entirely independent of the Debian project.

The first three packages up are all standards from SourceForge:

hibernate-java
Object-relational database mapping tool. You write the class and define various properties, hibernate transparently maps it to pretty much any relational database. It can be called directly, or indirectly through DAOs or EJBs.

hsqldb-java
Pure Java relational database that can be run entirely out of memory. HSQLDB and its predecessor Hypersonic provide a lightweight alternative to MySQL or PostgreSQL databases, and provide a good tool for importing CSV formatted tables from the people who insist on using Microsoft Excel.

xdoclet-java
   Code generation engine.  You either love it or hate it, I love it.

XDoclet is an incredibly powerful tool when combined with Hibernate and various types of EJB - in fact JBoss recently hired the main contributor to Hibernate to work on integration. For instance, any class stored in the database has additional comments like

 /**
  * @hibernate.class table="foos"
  */
 public class Foo implements Serializable {

    private Long id;
    private String barCode;

    /**
     * @hibernate.id generator-class="sequence"
     */
    public Long getId() { return id; }
    private void setId(Long id) { this.id = id; }

    /**
     * @hibernate.property column="bar_code" size="20"
     * @struts.validator type="required" msgkey="errors.required"
     */
    public String getBarCode() { return barCode; }
    public void setBarCode(String bc) { barCode = bc; }
}

and from that and a couple templates XDoclet generates my hibernate mapping files, my FooDAO interface and FooDAOHibernate implementation of that interface, and a FooForm view that is used by the presentation layer in my struts application. Hibernate itself can create the database schema on any supported database. I'm still learning what else it can do....

Packages to follow... I expect that they may require a quick iterator or two to get work out the kinks for Debian use.

Bear



Reply to: