Отображение Hibernate OneToMany не выполняется [дубликат]

Вы сделали бы это, создав dict:

fruits = {k:[] for k in names}

Затем получите доступ к каждому из них (например, :) fruits['apple'] - вы не хотите идти по дороге от отдельных переменных!

3
задан jan 31 May 2013 в 21:42
поделиться

2 ответа

Это довольно просто: вы никогда не инициализируете поле testObj в Children (которое следует назвать Child, BTW). Children.testObj является владельцем ассоциации и является полем, которое сопоставляется столбцу join, поэтому, если оно равно null, столбец join будет null.

5
ответ дан JB Nizet 18 August 2018 в 08:18
поделиться
  • 1
    Благодаря! Вы правы, это действительно просто, и я пробовал все :( Я должен ложиться спать! – jan 31 May 2013 в 22:01
  • 2
    можете ли вы отправить свой код? Я пробовал то же самое, но все же null – KDR 25 July 2017 в 07:52

У меня была аналогичная проблема, которую я решил, вызвав сеттер владельца. 2 метода, устанавливающие и добавляющие детей в TestObj, должны быть изменены таким образом, чтобы TestObj инициализировался со стороны владельца:

public synchronized void setChildren(Set<Children> children) 

{



this.children = children;


for(Children child : children)
    {
    // initializing the TestObj instance in Children class (Owner side) so that it is not a null and PK can be created
            child.setTestObj(this);
    }
    }

Второй метод:

public void addChildren(Children child)
{
    children.add(child);
//Intializing the TestObj instance at the owner side
    child.setTestObj(this);
}
1
ответ дан Petr Dostál 18 August 2018 в 08:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: