سؤال

وأحصل على استثناء "ليس هناك وحدة استمرار الافتراضي في هذا الانتشار." يمكنني بطريقة أو بأخرى بمناسبة الوحدة باعتبارها الافتراضي؟ (وليس لدي سوى وحدة المثابرة واحدة، لذلك [إيد] بالأحرى لا يطلق عليه اسم)

هل كانت مفيدة؟

المحلول

لا، لديك للاتصال بو بالاسم.

نصائح أخرى

وربما كنت أفعل ذلك خلال التعليمات البرمجية بدلا من السماح للحاويات إدارتها. في هذه الحالة عليك أن تحدد بالاسم.

وحدتي رمز اختبار له هذه الكتلة رمز للقيام بذلك.

@Before
public void createEntityManagerFactory() throws IOException {
    final Properties p = new Properties();
    p.load(getClass().getResourceAsStream("/inmemory.properties"));
    emf = Persistence.createEntityManagerFactory("default", p);
}

ولكن، رمز طلبي يبدو مثل هذا.

/**
 * Injected persistence context.
 */
@PersistenceContext
private EntityManager em;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top