Doesn't the table have a primary key? All database tables should have a primary key, especially if you want to map the table to a
Java object. Hibernate needs to have a way to say This Java Object maps to one and only one row in the database, and only a primary key can do that for you.
So let's say you have two records in the database table that country = "England", and you have a Country object where the attribute is "England", which one of the two records does that Object represent. It can't represent both records.
Mark