2017-02-13 3 views
1

В настоящее время я работаю над переносом кода, который использует JDBC (не предназначен для JPA) для Hibernate, и у меня есть два объекта, которые я хочу связать с отношениями «один к одному». Ниже приведены аналогичные структуры, которые могут помочь объяснить мою проблему:OneToOne Отношения с запросом

Entity A 
complexKey : String 

Entity B 
complexSubKey1: String 
complexSubKey2: String 
complexSubKey3: String 

для этого примера я хотел бы связать сущности А и В, когда

complexKey = complexSubKey1 + «:» + complexSubKey2 + " : "+ complexSubKey3.

и я искренне не знаю, как этого достичь.

+0

Вы создали в POJOs и отображение ?? отношения с запросом ... что именно вы пытаетесь достичь ?? – Akshay

+0

Я работаю над устаревшим кодом, который не был разработан для JPA (и отношений), у меня есть pojos, но я, но они слишком громоздки, чтобы задать этот вопрос. – mteffaha

ответ

1

Вы должны быть в состоянии добиться того, что с помощью JoinColumnOrFormula аннотацию

public class B{ 

    @OneToOne 
    @JoinColumnsOrFormulas(
      { 
       @JoinColumnOrFormula(
       [email protected](value="concat(complexSubKey1,':','complexSubKey2',':',complexSubKey3)" 
        , referencedColumnName="complexKey")) 
      }) 
    @Fetch(FetchMode.JOIN) 
    private A a; 
} 
+0

спасибо, это похоже на то, что мне нужно. – mteffaha

+0

Отлично. Рад, что смог помочь –

Смежные вопросы