sormula simple (easy) object relational mapping
Read/Write org.joda.time.LocalDate
Use a TypeTranslator to map a Java class to/from a database column.
StudentLD student = new StudentLD();
student.setId(1234);
student.setFirstName("Jeff");
student.setLastName("Miller");
student.setGraduationDate(new LocalDate());
System.out.println(table.insert(student) + " row inserted");
System.out.println(table.select(1234));
Output
1 row inserted
1234 Jeff Miller 2012-01-20
StudentLD DDL
CREATE TABLE studentLD
(
 id INTEGER NOT NULL PRIMARY KEY,
 firstname VARCHAR(30),
 lastname VARCHAR(30),
 graduationdate TIMESTAMP
)
StudentLD.java
@ExplicitType(type=LocalDate.class, translator=LocalDateTranslator.class)
public class StudentLD
{
    int id;
    String firstName;
    String lastName;
    LocalDate graduationDate;
    
    id, firstName, lastName, and graduationDate getters/setters...
    
    @Override
    public String toString()
    {
        return id + " " + firstName + " " + lastName + " " + graduationDate;
    }
}
LocalDateTranslator.java
LocalDateTranslator can be used for any table by annotating with @ExplicitType or @ImplicitType. Annotate Database with @ExplicitType to define it once for all tables and parameters.
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import org.joda.time.LocalDate;
import org.sormula.translator.TypeTranslator;

public class LocalDateTranslator implements TypeTranslator<LocalDate>
{
    public LocalDate read(ResultSet resultSet, int columnIndex) throws Exception
    {
        // convert from TIMESTAMP to LocalDate
        Timestamp timestamp = resultSet.getTimestamp(columnIndex);
        
        if (timestamp == null)
            return null;
        else
            return new LocalDate(timestamp.getTime());
    }

    public void write(PreparedStatement preparedStatement, int parameterIndex, 
        LocalDate parameter) throws Exception
    {
        // convert from LocalDate to TIMESTAMP
        if (parameter == null)
            preparedStatement.setTimestamp(parameterIndex, null);
        else
            preparedStatement.setTimestamp(parameterIndex, 
                new Timestamp(parameter.toDateMidnight().getMillis()));
    }
}
See /src/examples/java/org/sormula/examples/jodatime/LocalDateExample.java in the project.