【发布时间】:2014-02-16 15:30:57
【问题描述】:
我是 JPA 的新手,有一个关于命名的问题。
我最近遇到了一些麻烦,在我的持久性单元中有两个同名的实体出现类似这样的错误。 (我傻了,没有保存错误信息)
我正在制作一个使用 API (UniProt JAPI) 连接到远程数据库的 Web 应用程序(Java EE 7,Glassfish)。 API 类似乎包含一个名为“蛋白质”的实体。问题是我有一个本地数据库,我想为其编写一些实体类,其中一个被称为“蛋白质”,因为我本地数据库中的表被称为“蛋白质”。这似乎导致与外部派生的“蛋白质”实体的命名冲突。我认为最简单的解决方法是重命名我的本地蛋白质实体。
但我不确定该怎么做。
我猜是这样的:
@Entity(name="MyProtein")
@Table(name="protein")
public Class MyProtein {
因为我认为 @Entity 注释中的 name="MyProtein" 将设置实体名称。是这样吗?这必须与类名相同吗?
@Table 注释中的 name="protein" 我想从哪个表中映射实体。是这样吗?这是否意味着一个实体只能映射到数据库中的一个表?表注解和类名有关系吗?
【问题讨论】:
标签: jpa glassfish-4 java-ee-7