Hibernate is an object-relational mapping tool. Data without a primary key is not relational. The problem is that without an id to uniquely identify a row there is no way this data can partake in a relationship. So Hibernate cannot support it.
What
you should do is add a surrogate key to your table. If you can't do this, you can map the entire table as a composite key, though this will only work if your table doesn't include duplicate data. If neither of these are possible, don't map the table and handle it in bespoke manner via
JDBC (which shouldn't be too disruptive if your persistance code uses a
pattern like DAO).