It strains my brain to see
Java coded like a database. I suggest using standard java naming conventions.
If you have a pre-existing database, or you have imposed naming standards for your database,
you should use the @Column annotation to define the column name.
Also, my personal preference is for annotations on the fields instead of the accessors. Puts all the information at the top of the class.
Note that some tools will require both getter/setter whether you really want that to be the contract or not.
@OneToMany
private Collection<Ads> ads;
@Column(name="us_id")
private long id;
@Column(name="us_username");
private username;
@Column(name="us_password");
private password;
Of course, you left off password from this, and I would exclude the "id", it's not really part of the class, but an affectation of the implementation (unless this was supposed to represent a table and not a class):
class user
-----------
us_username
us_password