0

这个问题很混乱,所以我将详细描述如下。

我有一个域对象用户(在数据库中有其各自的用户表)。我有另一个扩展用户的域 Investor(在数据库中有其各自的 Investor 表)。现在,如果用户的 userType='I',则用户可以成为投资者

<entity class="User" >
   <table name="domain.Users" />
   <discriminator-column name="user_type" discriminator-type="STRING"/>
</entity>

我需要将 user_type 映射到其各自的域和表。

<entity class="domain.Investor" >
  <table name="domain.Users" />
  <discriminator-value>I</discriminator-value>
</entity>

在上面的代码中,我无法将表名更改为数据库的 Investor 表,因为鉴别器值是针对用户表的。我想要用户表的鉴别器列是 I 的 xml 代码,但它应该有自己的表 Investor。

4

1 回答 1

0

如果您需要,Investor 应该能够在连接表继承结构中同时使用 User 和它自己的 Investor 表。这样一来,User 中的每一行都代表一个 User 实体或 User 子类,而实际上是 Investor 的每个 User 在 Investor 表中也有一行。有关如何设置继承的简单示例,请参阅http://wiki.eclipse.org/EclipseLink/Examples/JPA/Inheritance<inheritance strategy="JOINED"/> - 您缺少User 中指定要使用的 JPA 继承类型的标记。

于 2013-09-17T12:46:01.523 回答