the hibernate docs tell me to create my entity classes with a no-args constructor. so what if i add a constructor with all parameters and also set the object property tagged as the hibernate id? well, it works fine. the value i pass for the id is ignored and hibernate overwrites it with a generated one. the rest of the values end up fine in the db.