Hibernate обновление OneToMany - PullRequest
1 голос
/ 06 января 2012

В Hibernate у меня есть два класса сущностей.

класс A и класс B.

класс A содержит список класса B.

    @Entity
    class A{
        @Id @GeneratedValue(strategy=GenerationType.AUTO)
        private Long id;
        @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
        List<B> list; // ArrayList
    }

    @Entity
    class B{
        @Id @GeneratedValue(strategy=GenerationType.AUTO)
        private Long id;
    }

Три таблицыбудет создан, как это, таблицы A, A_B и B. Где A содержит любую сущность A, и A_B - это таблица отношений, а B - то, что B является.Я сохраняю / обновляю их, создавая новый сеанс, beginTransaction, saveOrUpdate, фиксируя и закрывая сеанс.

Теперь проблема заключается в том, что всякий раз, когда я добавляю новый элемент в список и обновления A, hibernate удаляетвсю таблицу A_B, а затем вставляет все обратно с новым элементом.На самом деле я просто хочу добавить 1 новую строку в A_B и 1 новую строку в B.


<property name="hbm2ddl.auto">update</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

Остальное в значительной степени стандартно

1 Ответ

0 голосов
/ 06 января 2012

Пожалуйста, проверьте файл конфигурации Hibernate, потому что вы можете предоставить конфигурацию для удаления предыдущей таблицы и создания новой таблицы каждый раз, когда сервер перезапускается.

...