如果使用两个不同的持久性单元,则也可以不使用子类来执行此操作。
每个持久性单元可以指定一组唯一的映射(包括表名)。 实现此目的的一种方法是创建两个orm.xml文件。 在persistence.xml中,您将需要以下内容:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.0">
. . .
orm-1.xml
. . .
. . .
orm-2.xml
. . .
然后在orm-1.xml中:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
version="1.0">
mypackage
在orm-2.xml中:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
version="1.0">
mypackage
您需要为每个PersistenceUnit创建一个单独的EntityManagerFactory(可能不是您想要的),但是如果您想在不同的数据库(具有不同的表名)上使用相同的类,这将是一种方法。