Я создал класс репозитория (класс, который обрабатывает все методы jpa) для каждого типа сущности с помощью собственной entitymanagerfactory. Теперь я столкнулся следующее сообщение об ошибке на мой отношения многие ко многим:Имеет ли использование отдельного объекта entitymanagerfactory для каждого объекта проблемы?
ValidationException [junit][EclipseLink-7251] Exception Description: The attribute [ID] of class [Person] is mapped to a primary key column in the database. Updates are not allowed.
Эта ошибка часто не происходит больше при отладке и не кажется, появляются последовательно, что приводит меня в это поверить может быть проблемой синхронизации между менеджерами. (Pk обрабатывается jpa - @Id @GeneratedValue - и никогда меня не меняет, я использую каскадное слияние)
Я исхожу в своем предположении, что наличие нескольких объектов entitymanagerfactor является плохими идеями (и может быть связано к моим проблемам)?
Почему бы вы идти о попытке изменить идентификатор объекта ?! Наличие нескольких EMF не поможет (и убьет вашу производительность). Исправление вашего кода (и вы не представляете код, который вызывает проблему). –
Я не хочу менять идентификатор объекта, я использую @generated, чтобы jpa инициализировал идентификатор и намерен сохранить идентификатор, как есть. Мой мыслительный процесс состоял в том, что, поскольку менеджеры не синхронизировались, возможно, это заставляет их хотеть генерировать идентификатор второй раз, вызывая тем самым ошибку. – Wouter
Итак, отправьте КОД, который выдает исключение, и тогда люди могут видеть, ЧТО его вызывает. Что (жизненный цикл) - это объекты, когда вы выполняете какую-либо операцию? –