Аннотация для объединения столбцов с условием ИЛИ вместо условия И

У меня есть 2 занятия по Java,Relation а такжеPerson, которые оба присутствуют в моей базе данных.

Человек:

@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
}

Связь:

@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
}

У каждого Person есть список отношений (или нет), отношение должно быть добавлено в список, когда child_id или parent_id отношения равен id человека.

TL; DR: когдаrelation.child_id OR relation.parent_id = person.id => добавить отношение к списку отношений человеку

Проблема, с которой я сталкиваюсь, заключается в том, что эта аннотация:

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

создает следующий SQL (только необходимую часть):

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

Какова правильная аннотация в Java Hibernate для генерации оператора SQL, говорящегоИЛИ ЖЕ вместоА ТАКЖЕ

Ответы на вопрос(2)

Ваш ответ на вопрос