#java #hibernate #mapping
#java #перевести в спящий режим #сопоставление
Вопрос:
В настоящее время я перевожу некоторый устаревший код в спящий режим. В этом процессе я столкнулся со следующим классом:
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)
Это также немного громоздко и не «приятно в использовании».
Итак, мой вопрос в том, есть ли способ решить это с помощью аннотаций, или это в настоящее время единственный способ справиться с подобным классом?
Если у вас есть какие-либо вопросы, не стесняйтесь задавать