Hibernate and Criteria Api generates wrong Join condition

I got following tables. Lets ignore the fact that the relation is done wrong here. I cannot change that. Each company can have multiple employes and each employe belongs to only one company.

Table: Company

10 100

Table: Employe

100 (Same as EMPLOYE_ID) John

Now i want to create a relation @OneToMany between Company -> Employe . My entities look as follow

class Company {
  @Column(name = "id", unique = true, nullable = false)
  private String id;

  @OneToMany(fetch = FetchType.LAZY)
  @JoinColumn(name = "EMPLOYE_ID", referencedColumnName = "ID")
  private Set<Employe> employees;

No matter if i try to create a uniderectional, or biderection relationship by adding also @ManyToOne on my Employe class, when using Criteria api to select all Company entities and their Employes i always end up with a wrong generated SQL query at the point where it joines the tables. The above relation for example creates following:

FROM company company0
INNER JOIN employe employe0 ON company0.id = employe0.employe_id

I tried several approaches, but i end up almost with the same error. It tries either to access a column which does not exist on the table, or joins wrong columns (e.g. id = id). Or by the following exception

Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: com.Employe column: id (should be mapped with insert="false" update="false")"}}

What is a simple approach to create a bidrectional relation with the above table structure?