تطبيق Enterprise وعميل تطبيق Enterprise
سؤال
لقد انضممت إلى مشروع جديد مع شركة جديدة ونحاول استخدام JPA للقيام ببعض أعمال قاعدة البيانات.لذلك لدينا أذن مع EJB، وهي خدمة ويب، ثم هناك عميل تطبيق في الأذن يقوم بكل العمل حقًا.تقوم خدمة الويب باستدعاء EJB، ويقوم EJB باستدعاء العميل للقيام بعمل قاعدة البيانات.لذلك، داخل برنامج appclient، أرغب في تحميل EntityManager عبر التعليقات التوضيحية، ولكن يبدو أنه لا يعمل (em يكون دائمًا فارغًا):
@Entity
public class Whatever...{
@PersistenceContext(unitName="pu")
EntityManager em;
}
لذلك كنت أفكر أنني بحاجة إلى تحميل EntityManager في EJB، لكن هذا لم ينجح أيضًا، لأنه يبدو أن JPA لم تر فئات الكيان لأنها موجودة في عميل التطبيق وليس EJB.هل يمكن لأحد أن يعطيني بعض التوجيه؟
المحلول
يعد هذا إساءة استخدام لعميل التطبيق.يجب أن تتم جميع عمليات معالجة قاعدة البيانات الخاصة بك في EJB.لا يبدو أن هناك أي سبب واضح لوجود عملاء التطبيق.
هذا الرابط لمقالة قديمة، ولكنه يقدم أمثلة على ما يتم استخدام عميل التطبيق من أجله (التطبيقات وليس الخدمات الخلفية).