For injection to happen in EBJ3, you need to have annotations within your code. You won't be able to "inject" them through deployment descriptors. However, you will be able to bind objects to the ENC of the application through deployment descriptors (this has been there in earlier versions too). Later you can do a lookup in the JNDI for these objects.
in xml the injection looks like With exception of <persistence-context-ref-name> all elements are optional. The admissible values for <persistence-context-type> are "Container" and "Extended". The <injection-target> tag is responsible for the actual injection into the instance variable em. [ November 02, 2008: Message edited by: Ralph Jaus ]
Is it should always same as to the <ejb-class> element under the given <session> element?
dependency injection could also be used in superclasses of the bean class. I didn't check it, but I suppose that the <injection-target-class> serves this purpose and can contain the name of a superclass. Perhaps you can test it and let us know.