То, что вы хотите - это двунаправленная ассоциация один-к-одному.У вас есть два варианта в этом случае Lazily или Eagerly загружены.Ни один из них не требует явного соединения в вашем JQL, если вы не хотите переопределить отложенную загрузку и энергичную загрузку.Это, конечно, основано на том факте, что ваши аннотации / xml, определяющие отношения между этими объектами, настроены правильно.
Вам потребуется свойство в ClassB для типа ClassA, чтобы сохранить изменения в отношениях ClassB независимо от ClassA.Это свойство также позволит дочерним запросам в ClassB заполнять родительский член ClassA данными (с нетерпением) или с заглушками запросов (ленивыми)
public ClassA{
ClassB Child;
}
public ClassB{
ClassA parent;
String data;
}
Проверьте эту запись в вики-книгах, в которой рассказывается, как ее настроить. One To One В нем описан очень похожий сценарий, когда мы имеем дело с Person
с Address
и рассказываем, как получить человека, запрашивая адрес.
Примечание: я только что прочиталчто вы пытаетесь сделать это без ассоциации.Как и другие авторы заметили, тривиально добавлять это отношение, если оно ленивое, оно почти не добавляет накладных расходов.Единственная причина, по которой я могу думать об этом, заключается в некоторой ошибочной попытке избежать загрязнения класса B ссылками на ClassA.Помните «Хуже лучше» Простота -> Правильность -> Согласованность -> Полнота.Сделайте это самым простым способом, который решит вашу проблему, и не проще.