however, it seems to me that constraints belong to DAO classes in the same way column types do.
The way I see it, DAO classes are purely access object declarations. The column types are already borderline irrelevant, but since it's often extremely convenient to only have to list your columns once, I include them there. Constraints can easily be specified outside of CREATE TABLE statements, so there's no pressing reason to include them in DAO definitions.
Best, Marijn