2015-03-13 2 views
0

У меня есть два лица, работающие в Mater Детали рисунка, как я описать:EclipseLink JTA Постоянство вопрос (Null Pointer Exception)

Stackoverflow Post: jpa-eclipselink-onetomany-derived-ids-fail

Схема работает, как ожидалось с локального ресурса, но когда я пытаюсь двигаться пример для веб-среды GlassFish4.1 (JSF) с JTA, я получаю следующее сообщение об ошибке:

Advertencia: DTX5014: Caught исключение в beforeCompletion() обратного вызова: java.lang.NullPointerException в entidades.OrderItemPK._persistence_set (OrderItemPK.java)

Исходный код класса инерционности:

import java.util.List; 
import javax.persistence.Query; 
import javax.persistence.EntityManager; 
import java.util.List; 
import javax.persistence.Query; 
import javax.persistence.EntityManager; 


public abstract class AbstractFacade<T> { 

    private Class<T> entityClass; 
    protected abstract EntityManager getEntityManager();  

    public AbstractFacade(Class<T> entityClass) { 
    this.entityClass = entityClass; 
    } 

    public void create(T entity) { 
    getEntityManager().persist(entity); 
    } 

    public T edit(T entity) { 
    return getEntityManager().merge(entity); 
    } 

    public void remove(T entity) { 
    getEntityManager().remove(getEntityManager().merge(entity)); 
    } 

Я попытался с обоих методов создания и редактирования. Любая идея, что я делаю неправильно, предложения приветствуются.

+0

Предполагая, что вы используете пример mapsId с встраиваемая, когда происходит эта ошибка? т.е. когда вы создаете новый экземпляр или редактируете существующий? Если это уже существующий экземпляр, который был изменен, как вы его читаете и какие изменения вносятся? Возникает ли та же проблема, если вы используете класс PK вместо embeddedId? – Chris

+0

Все сущности - это новые экземпляры, до сих пор я придерживался метода «create», я не могу заставить его работать, и я не мог заставить его работать с объектами сопоставления с классом PK – Hickaru

ответ

0

Проблема была в классе PK, изменить тип данных Int в целое, а затем появилась ошибка метода хэш-код()

0

Ваша сущность использует базовые «длинные» типы, которые не допускают null, поэтому убедитесь, что значения вашей базы данных не равны нулю. Если это так, быстро исправить это, чтобы изменить тип оболочки «Long»: http://edwin.baculsoft.com/2012/02/nullpointerexception-when-using-jpa/ Если это так, вам нужно будет отследить, как заполняется база данных нулевыми значениями для полей, связанных с первичным ключом.

+0

Спасибо за ваш интерес, я мог бы найти исправление моя проблема, я отвечу в качестве ответа – Hickaru