Вы можете перечислить ваши классы , необходимые для A, в одной единице персистентности, а классы, необходимые вам B, в другой:
<persistence ...>
<persistence-unit name="projectA" ...>
....
<class>a.Class1</class>
<class>a.Class2</class>
<class>a.Class3</class>
</persistence-unit>
<persistence-unit name="projectB" ...>
...
<class>a.Class1</class>
<class>a.Class2</class>
<class>a.Class3</class>
<class>b.Class1</class>
<class>b.Class2</class>
<class>b.Class3</class>
</persistence-unit>
</persistence>
В качестве альтернативы, вы можете использовать элемент , цитируя из спецификации JPA (6.2.1.6): " Если указано, в этих файлах JAR будет выполняться поиск классов управляемых персистентностей и любые аннотации метаданных сопоставления, найденные на них, будут обработаны, или они будут отображены с использованием значений аннотации сопоставления, определенных этой спецификацией. Такие JAR-файлы указываются относительно корня модуля постоянства (например, utils / myUtils.jar) ."
<persistence ...>
<persistence-unit name="projectA" ...>
...
<jar-file>relative/path/to/your/library.jar</jar-file>
</persistence-unit>
</persistence>