Можно ли сопоставить поле в Entity без определения какой-либо ассоциации?

У меня есть следующая схема в БД (упрощенная)

MainTable(
    ID primary key
    SOMEFIELD
    CODE_FK1 -- references OtherTable1 CODE (without declared foreign key)
    CODE_FK2 -- references OtherTable2 CODE (without declared foreign key)
    ... Other fields used
)

OtherTable1(
    CODE primary key
    LABEL
    ... other fields not used
)

OtherTable2(
    CODE primary key
    LABEL
    ... other fields not used
)

Я спрашиваю, есть ли способ определить мою сущность для основной таблицы, чтобы напрямую использовать метки из других моих таблиц, то есть без определения сущностей для этих других таблиц.

Я не могу изменить схему БД, которая является действительно ужасно (везде есть пары меток / кодов, определенные в таблицах кратных). И если бы это было возможно, это решение позволило бы сохранить мой код простым, поскольку мне на самом деле не нужны эти другие сущности.

Думаю, в результате получится что-то вроде этого:

@Entity
public class MainEntity{
    @Id
    private Integer ID;

    @Column(name="SOMEFIELD")
    private String SomeField;

    @SomeAnnotation to Join CODE_FK_1 with OtherTable1.CODE
    @SomeAnnotation like @Column(name="LABEL", table="OtherTable1")
    private String Label1;

    @SomeAnnotation to Join CODE_FK_1 with OtherTable1.CODE
    @SomeAnnotation like @Column(name="LABEL", table="OtherTable1")
    private String Label1;

}

Заранее спасибо за вашу помощь!

7
задан mdomenjoud 23 December 2010 в 11:17
поделиться