В спящем режиме вы можете игнорировать аннотацию для каждого поля, если имя поля и столбец совпадают. Например: База данных: USER_NAME -> Имя поля: user_name;
Чтобы сопоставить тип VARCHAR со строкой, вы можете создать собственный диалект. Например, если вы используете MySQL, вы можете создать класс, расширяющий MySQLDialect, и создать тип данных сопоставления.
public class CustomMySQLDialect extends MySQLDialect {
public MySQLDialectDataType() {
registerHibernateType(Types.NVARCHAR, 255, "string");
registerHibernateType(Types.BIGINT, "long");
}
}