Oracle - JPA Alter Constraint

时间:2016-11-23 16:10:54

标签: oracle jpa foreign-keys constraints

我遇到oracle / jpa映射中的约束问题。 我有这4张桌子

 SucursalSolicitanteFornecimento(
    Sucursal_ID (NUMBER) PK
    Sucursal_Name(VARCHAR)
    Sucursal_UF

 );

 ParamSolicitante(
   paramID (NUMBER) 
   paramName(Varchar)


);

 ConfiguracaoParametroSolicitante(
      paramConfigID (NUMBER) PK,
      paramID FK (from ParamSolicitante),
      requestID (From SucursalSolicitanteFornecimento)


);


 ConfiguracaoParametroSolicitanteSucursal(
          ID (NUMBER) PK,
          paramConfigID FK from ConfiguracaoParametroSolicitante,
          SucursalSolicitanteFornecimento_ID
          SucursalSolicitanteFornecimento_UF  - Both From      SucursalSolicitanteFornecimento


 );

我的问题是当我尝试在ConfiguracaoParametroSolicitanteSucursal中插入一个新值时,由于FK,我不能拥有2个不同的ParamConfigID和相同的SucursalSolicitanteFornecimento_UF和相同的SucursalSolicitanteFornecimento_ID。 但现在这正是我所需要的,在同一状态下该SucursalSolicitante的多个参数。

我的Java类以这种方式映射:

public class ConfiguracaoParametroSolicitanteSucursal{
@Id
@GeneratedValue()
private Integer codigoConfigParamSolctteSuc;

@OneToOne(fetch = FetchType.LAZY)
@JoinColumns( { @JoinColumn(name = "SUCURSAL_ID", referencedColumnName = "SUCURSAL_ID", nullable = false),
        @JoinColumn(name = "SUCURSAL_UF", referencedColumnName = "SUCURSAL_UF", nullable = false) })
private SucursalSolicitanteFornecimento sucursalParametro;

@JoinColumn(name = "paramConfigID", referencedColumnName = "paramConfigID", nullable = false)
@ManyToOne(fetch = FetchType.LAZY)
private ConfiguracaoParametroSolicitante configuracaoParametroSolicitante;

}

我能做些什么来达到我的需要?我想知道是否必须将@OneToOne列更改为@ManyToOne并删除数据库中的约束。

0 个答案:

没有答案