Anotación para unir columnas con condición OR en lugar de condición AND

Tengo 2 clases de java,Relation yPerson, que están presentes en mi base de datos.

Persona:

@Entity
@Table(name = "persons")
public class Person {
    @Id
    @Column
    private int id;

    @Column
    private String name;

    @OneToMany(fetch = FetchType.EAGER)
    @JoinColumns({
        @JoinColumn(name = "slave_id", referencedColumnName="id"),
        @JoinColumn(name = "master_id", referencedColumnName="id")
    })
    private List<Relation> relations;

    //Getters and setters
}

Relación:

@Entity
@Table(name = "relations")
public class Relation {
    @Id
    @Column
    private int id;

    @Column
    private int child_id;

    @Column
    private int parent_id;

    @Column
    private String type;

    //Getters and setters
}

Cada persona tiene una lista de relaciones (o no), la relación debe agregarse a la lista cuando child_id o parent_id de la relación es igual al id de la persona.

TL; DR: cuandorelation.child_id OR relation.parent_id = person.id => agregar relación a la lista de relaciones a la persona

El problema que estoy enfrentando es que esta anotación:

@JoinColumns({
            @JoinColumn(name = "child_id", referencedColumnName="id"),
            @JoinColumn(name = "parent_id", referencedColumnName="id")
        })

crea el siguiente SQL (solo la parte necesaria):

relations relations6_ 
            on this_.id=relations6_.slave_id 
            and this_.id=relations6_.master_id

¿Cuál es la anotación correcta en Java Hibernate para generar una instrucción SQL que digaO en lugar deY

Respuestas a la pregunta(2)

Su respuesta a la pregunta