Hibernate @OneToOne с одиночным @Entity - PullRequest
1 голос
/ 26 марта 2019

Сейчас я перевожу какой-то устаревший код в спящий режим. В этом процессе я наткнулся на следующий класс:

public class Foo {

    private Bar b1;
    private Bar b2;
    private Bar b3;
    private Bar b4;
    private Bar b5;

    public Foo() {

    }

    public Foo(Bar b1, Bar b2, Bar b3, Bar b4, Bar b5) {
        this.b1 = b1;
        this.b2 = b2;
        this.b3 = b3;
        this.b4 = b4;
        this.b5 = b5;       
    }
}

Теперь интересная часть состоит в том, что Foo нельзя сопоставить ни с одной таблицей или представлением базы данных, в то время как Bar будет сопоставлено с представлением. Теперь, очевидно, я не могу использовать здесь какие-либо аннотации, например @OneToOne или @JoinColumn, так как они основаны на существующей таблице / представлении.

Итак, я подумал об использовании HQL-запроса

select new com.fooCompany.test.Foo
(from Bar b1, from Bar b2, from Bar b3, from Bar b4, from Bar b5)

Это также немного громоздко и не "приятно в использовании".

Итак, мой вопрос, есть ли способ решить это с помощью аннотаций, или в настоящее время это единственный способ иметь дело с таким классом?


Если у вас есть какие-либо вопросы, не стесняйтесь спрашивать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...