为ejb 2.1多表关系指定表名

时间:2013-07-23 14:27:47

标签: jboss ejb myeclipse ejb-2.x xdoclet

我有一个2.1米的关系。 该表正在自动创建。 问题是我想指定将由此关系创建的表名。

问题:
多对多关系是否有一个属性来指定我想要创建哪个表名而不是默认表名(这是关系中涉及的表的串联)?或者还有另一种方法可以实现这一目标吗?

详情
我正在使用:

  • XDoclet的
  • Myeclipse的
  • EJB 2.1
  • jboss-4.2.3.GA

我很确定这个问题是否足够具体,但无论如何,下面是关系代码

/**
 * @ejb.interface-method view-type="both"
 * @ejb.relation
 *     name="empresas-campanhas"
 *     role-name="campanha de empresas"
 *     target-role-name="empresas tem campanhas"
 *     target-ejb="Empresa"
 *     target-multiple="yes"
 * @ejb.value-object
 *     compose="<package>.EmpresaValue"
 *     compose-name="EmpresaValue"
 *     members="<package>.EmpresaLocal"
 *     members-name="EmpresaLocal"
 *     relation="external"
 * @jboss.relation
 *     fk-column="id_empresa"
 *     fk-constraint="true"
 *     related-pk-field="idEmpresa"
 * @jboss.target-relation
 *     fk-column="ID_CampanhaFidelidade"
 *     fk-constraint="true"
 *     related-pk-field="idCampanhaFidelidade"
 */
public abstract Collection getEmpresas();

/**
 * @ejb.interface-method view-type="both"
 */
public abstract void setEmpresas( Collection empresas );

正在创建表:

campanhafidelidade_empresas_empresa_campanhafidelidade_empresas

但我想指明:

syo_campanhafidelidade_empresas

1 个答案:

答案 0 :(得分:1)

您应该在getEmpresas()方法中添加以下注释:

@jboss.relation-table table-name="SYO_CampanhaFidelidade_Empresas"