В настоящее время я пытаюсь сохранить коллекцию, используя @OneToMany (cascade = CascadeType.ALL) для простого списка объектов. Таблица для Parent_Child создается в MySQL, но ключи для каждого объекта не обновляются при использовании SaveOrUpdate. Есть идеи, в чем проблема? (Мой родительский ключ определен, а потомки созданы). Я добавляю детей в коллекцию родительского объекта перед сохранением с помощью saveOrUpdate. Я использую MySQL с Hibernate 3, и мое свойство auto установлено на create-drop.
Тестовый класс:
public class Tester {
public static void main(String[] args) {
VideoChannel testChannel = new VideoChannel("Test Channel");
VideoChannelMap v = new VideoChannelMap(testChannel, "Test Map");
VideoSource sc2Vid = new VideoSource("starcraft-ii-ghost-of-the-past.mp4", "EinghersStreamingBucket");
testChannel.add(sc2Vid);
Session s = HibernateSessionFactory.getSession();
s.beginTransaction();
s.saveOrUpdate(v);
s.close();
}
}
Сущности:
@Entity
public class VideoChannelMap {
@Id
String name;
@OneToMany(cascade=CascadeType.ALL)
List<VideoChannel> channelMap;
public VideoChannelMap(VideoChannel initialVid, String name)
{
this.name = name;
channelMap = new ArrayList<VideoChannel>();
channelMap.add(initialVid);
initialVid.setParent(this);
}
}
@Entity
public class VideoChannel {
@Id @GeneratedValue
Long id;
...
}