demo https://github.com/ningpp/hibernate-self-reference
maven.log
create table middle_table4 ( middle4_id integer not null, dest4_id1 integer not null, dest4_id2 integer not null, dest4_id3 integer not null, main_id1 integer not null, main_id2 integer not null, primary key (main_id2, main_id1, dest4_id1, dest4_id2, dest4_id3) )