У меня есть следующая ElementCollection на моем объекте
public class MyObject {
@ElementCollection(targetClass=Long)
Set<Long> otherIds
}
Это должно создать таблицу со значениями
myObj_id other_id
1 2
1 3
2 4
3 4
Но это только создает всплывающие строки
myObj_id other_id
1 2
1 3
2 4
Что-то заставляет меня думать, что это не позволяет повторять значение '4' в столбце other_id. Но я не уверен, почему, я попытался выполнить следующие действия:
Вот код сохранения
public MyObj createOrSave(MyObj obj) {
Session session = sessionFactory.openSession();
Transaction tx = null;
try {
session.beginTransaction();
session.saveOrUpdate(obj);
session.getTransaction().commit();
} catch (RuntimeException e) {
session.getTransaction().rollback();
throw e;
} finally {
if (session != null && session.isOpen()) {
session.close();
}
}
return obj;
}
Если посмотреть на структуру таблицы, это создает оба myObj_id и other_id в качестве первичных ключей, это проблема?
Я добавил больше журналов, и похоже, что перед вторым сохранением сущности id для other_id равен нулю.Не уверен, что это значит, но кажется странным