Создание поставщика JPA

Возможно обработать эти исключения с Thread.setDefaultUncaughtExceptionHandler(), однако это, кажется, смешивает с методом Android обрабатывания исключений. Я попытался использовать обработчик этой природы:

private class ExceptionHandler implements Thread.UncaughtExceptionHandler {
    @Override
    public void uncaughtException(Thread thread, Throwable ex){
        Log.e(Constants.TAG, "uncaught_exception_handler: uncaught exception in thread " + thread.getName(), ex);

        //hack to rethrow unchecked exceptions
        if(ex instanceof RuntimeException)
            throw (RuntimeException)ex;
        if(ex instanceof Error)
            throw (Error)ex;

        //this should really never happen
        Log.e(Constants.TAG, "uncaught_exception handler: unable to rethrow checked exception");
    }
}

Однако даже с переброском исключений, я был неспособен получить желаемое поведение, т.е. вход исключения, все еще позволяя Android завершить работу компонента, это произошло он, таким образом, я разочаровался в нем через некоторое время.

5
задан User1 29 August 2009 в 04:54
поделиться

1 ответ

Вы начинаете с реализации интерфейса javax.persistence.spi.PersistenceProvider и определения своей реализации с помощью элемента provider в объявлении единицы сохраняемости:

<persistence-unit name="myUnit">
  <provider>com.mypackage.CustomPersistenceProvider</provider>
  ...
</persistence-unit>

Это дает вам точку входа для создания вашей собственной EntityManagerFactory и, следовательно, EntityManager.

Вопрос в 64 000 долларов, однако, заключается в том, зачем вам делать что-то подобное? Если это связано с вашим вопросом Lazy Hibernate JPA с использованием SOAP , то это, вероятно, неправильный подход.

10
ответ дан 13 December 2019 в 22:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: