1

私は ejb 2.1 m:n 関係を持っています。テーブルは自動的に作成されています。問題は、この関係によって作成されるテーブル名を指定したいということです。

質問:
多対多の関係には、デフォルトのテーブル名 (関係に含まれるテーブルの連結) の代わりに作成するテーブル名を指定する属性がありますか? またはそれを達成する別の方法はありますか?


私が使用している詳細:

  • Xドックレット
  • マイエクリプス
  • 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.

4

1 に答える 1

1

getEmpresas()メソッドに次の注釈を入れる必要があります。

@jboss.relation-table table-name="SYO_CampanhaFidelidade_Empresas"
于 2013-07-23T17:30:07.493 に答える