我有一个查询是一个名为product的表,其中包含由idCodEmpresa和实体代码组成的不同表组成的外键,但我有一个问题,插入不插入所有列都被映射:
Hibernate: select nextval ('public.sq_sgproducto')
Hibernate: select sgestado_."siCodEstado", sgestado_."iCodUsuActualizacion" as iCodUsuA2_5_, sgestado_."iCodUsuCreacion" as iCodUsuC3_5_, sgestado_."tsFecActualizacion" as tsFecAct4_5_, sgestado_."tsFecCreacion" as tsFecCre5_5_, sgestado_."vCodNemotecnico" as vCodNemo6_5_, sgestado_."vDesEstado" as vDesEsta7_5_, sgestado_."vNomTerActualizacion" as vNomTerA8_5_, sgestado_."vNomTerCreacion" as vNomTerC9_5_ from "public"."SGEstado" sgestado_ where sgestado_."siCodEstado"=?
Hibernate: select sglinea_."iCodEmpresa", sglinea_."siCodCategoria", sglinea_."siCodLinea", sglinea_."bEntrega" as bEntrega4_10_, sglinea_."bSincroniza" as bSincron5_10_, sglinea_."iCodUsuActualizacion" as iCodUsuA6_10_, sglinea_."iCodUsuCreacion" as iCodUsuC7_10_, sglinea_."siCodEstado" as siCodEs15_10_, sglinea_."tsFecActualizacion" as tsFecAct8_10_, sglinea_."tsFecCreacion" as tsFecCre9_10_, sglinea_."vCodNemotecnico" as vCodNem10_10_, sglinea_."vDesLinea" as vDesLin11_10_, sglinea_."vEtiquetado" as vEtique12_10_, sglinea_."vNomTerActualizacion" as vNomTer13_10_, sglinea_."vNomTerCreacion" as vNomTer14_10_ from "public"."SGLinea" sglinea_ where sglinea_."iCodEmpresa"=? and sglinea_."siCodCategoria"=? and sglinea_."siCodLinea"=?
Hibernate: select sgtipprodu_."siCodTipProducto", sgtipprodu_."bPredeterminado" as bPredete2_24_, sgtipprodu_."bReqProveedor" as bReqProv3_24_, sgtipprodu_."iCodUsuActualizacion" as iCodUsuA4_24_, sgtipprodu_."iCodUsuCreacion" as iCodUsuC5_24_, sgtipprodu_."siCodEstado" as siCodEs12_24_, sgtipprodu_."tsFecActualizacion" as tsFecAct6_24_, sgtipprodu_."tsFecCreacion" as tsFecCre7_24_, sgtipprodu_."vCodNemotecnico" as vCodNemo8_24_, sgtipprodu_."vDesTipProducto" as vDesTipP9_24_, sgtipprodu_."vNomTerActualizacion" as vNomTer10_24_, sgtipprodu_."vNomTerCreacion" as vNomTer11_24_ from "public"."SGTipProducto" sgtipprodu_ where sgtipprodu_."siCodTipProducto"=?
Hibernate: select sgempresa_."iCodEmpresa", sgempresa_."bPercepcion" as bPercepc2_4_, sgempresa_."iCodUsuActualizacion" as iCodUsuA3_4_, sgempresa_."iCodUsuCreacion" as iCodUsuC4_4_, sgempresa_."siCodEstado" as siCodEs17_4_, sgempresa_."siCodUbigeo" as siCodUb18_4_, sgempresa_."siTipDocRepresentante" as siTipDoc5_4_, sgempresa_."tsFecActualizacion" as tsFecAct6_4_, sgempresa_."tsFecCreacion" as tsFecCre7_4_, sgempresa_."vCodNemotecnico" as vCodNemo8_4_, sgempresa_."vDireccion" as vDirecci9_4_, sgempresa_."vNomTerActualizacion" as vNomTer10_4_, sgempresa_."vNomTerCreacion" as vNomTer11_4_, sgempresa_."vNumDocRepresentate" as vNumDoc12_4_, sgempresa_."vNumRuc" as vNumRuc13_4_, sgempresa_."vRazSocial" as vRazSoc14_4_, sgempresa_."vRepLegal" as vRepLeg15_4_, sgempresa_."vTelefono" as vTelefo16_4_ from "public"."SGEmpresa" sgempresa_ where sgempresa_."iCodEmpresa"=?
Hibernate: select sgmarca_."siCodMarca", sgmarca_."iCodUsuActualizacion" as iCodUsuA2_11_, sgmarca_."iCodUsuCreacion" as iCodUsuC3_11_, sgmarca_."siCodEstado" as siCodEs10_11_, sgmarca_."tsFecActualizacion" as tsFecAct4_11_, sgmarca_."tsFecCreacion" as tsFecCre5_11_, sgmarca_."vCodNemotecnico" as vCodNemo6_11_, sgmarca_."vDesMarca" as vDesMarc7_11_, sgmarca_."vNomTerActualizacion" as vNomTerA8_11_, sgmarca_."vNomTerCreacion" as vNomTerC9_11_ from "public"."SGMarca" sgmarca_ where sgmarca_."siCodMarca"=?
Hibernate: select sgsublinea_."iCodEmpresa", sgsublinea_."siCodCategoria", sgsublinea_."siCodLinea", sgsublinea_."siCodSubLinea", sgsublinea_."iCodUsuActualizacion" as iCodUsuA5_17_, sgsublinea_."iCodUsuCreacion" as iCodUsuC6_17_, sgsublinea_."siCodEstado" as siCodEs13_17_, sgsublinea_."tsFecActualizacion" as tsFecAct7_17_, sgsublinea_."tsFecCreacion" as tsFecCre8_17_, sgsublinea_."vCodNemotecnico" as vCodNemo9_17_, sgsublinea_."vDesSubLinea" as vDesSub10_17_, sgsublinea_."vNomTerActualizacion" as vNomTer11_17_, sgsublinea_."vNomTerCreacion" as vNomTer12_17_ from "public"."SGSubLinea" sgsublinea_ where sgsublinea_."iCodEmpresa"=? and sgsublinea_."siCodCategoria"=? and sgsublinea_."siCodLinea"=? and sgsublinea_."siCodSubLinea"=?
Hibernate: select sgtemporad_."iCodEmpresa", sgtemporad_."siCodTemporada", sgtemporad_."bNuevo" as bNuevo3_20_, sgtemporad_."bReposicion" as bReposic4_20_, sgtemporad_."iCodUsuActualizacion" as iCodUsuA5_20_, sgtemporad_."iCodUsuCreacion" as iCodUsuC6_20_, sgtemporad_."siCodEstado" as siCodEs13_20_, sgtemporad_."tsFecActualizacion" as tsFecAct7_20_, sgtemporad_."tsFecCreacion" as tsFecCre8_20_, sgtemporad_."vCodNemotecnico" as vCodNemo9_20_, sgtemporad_."vDesTemporada" as vDesTem10_20_, sgtemporad_."vNomTerActualizacion" as vNomTer11_20_, sgtemporad_."vNomTerCreacion" as vNomTer12_20_ from "public"."SGTemporada" sgtemporad_ where sgtemporad_."iCodEmpresa"=? and sgtemporad_."siCodTemporada"=?
Hibernate: select sgunimedid_."iCodEmpresa", sgunimedid_."siCodUniMedida", sgunimedid_."iCodUsuActualizacion" as iCodUsuA3_26_, sgunimedid_."iCodUsuCreacion" as iCodUsuC4_26_, sgunimedid_."siCodEstado" as siCodEs11_26_, sgunimedid_."tsFecActualizacion" as tsFecAct5_26_, sgunimedid_."tsFecCreacion" as tsFecCre6_26_, sgunimedid_."vCodNemotecnico" as vCodNemo7_26_, sgunimedid_."vDesUniMedida" as vDesUniM8_26_, sgunimedid_."vNomTerActualizacion" as vNomTerA9_26_, sgunimedid_."vNomTerCreacion" as vNomTer10_26_ from "public"."SGUniMedida" sgunimedid_ where sgunimedid_."iCodEmpresa"=? and sgunimedid_."siCodUniMedida"=?
Hibernate: insert into "public"."SGProducto" ("bConsignacion", "bExportacion", "bInafecto", "bMaquinaria", "bPercepcion", "bPlanificacion", "iCodPadre", "iCodUsuActualizacion", "iCodUsuCreacion", "nFactor", "nTolIngreso", "iCodProveedor", "siCodEstado", "iCodImagen", "iCodEmpresa", "siCodCategoria", "siCodLinea", "siCodMarca", "siCodMedida", "siCodTipMedida", "siCodTipProducto", "tsFecActualizacion", "tsFecCreacion", "vCodBarra", "vCodNemotecnico", "vCodProducto", "vDesProducto", "vNomTerActualizacion", "vNomTerCreacion", "vParArancelaria", "iCodProducto") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
WARN : org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: 23502
ERROR: org.hibernate.engine.jdbc.spi.SqlExceptionHelper - ERROR: el valor null para la columna «siCodUniMedida» viola la restricción not null
Detail: La fila que falla contiene (9, 1, I7AIBE, , null, null, null, null, 2, 41, null, 71, 2, null, null, null, null, 2, null, null, null, null, null, null, null, null, null, null, 1, 2014-09-11 17:45:32.262, 1, 0:0:0:0:0:0:0:1, null, null, null).
ERROR: org.commerce.inventario.controller.CBusquedaProducto - ERROR SGCOMMERCE: [org.commerce.inventario.controller.CBusquedaProducto - grabarProducto]could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
问题本身不是这个null插入一个值,而是这里没有提到插入中的“siCodUniMedida”列,因为java代码如果我通过设置它的值是正确的。
代码Java服务:
@Transactional
@Override
public int grabarProducto(ProductoBean producto, List<ProductoHijoBean> listaProdHijos, int icodUsu, String vnomTer) throws Exception {
Sgproducto sgproducto = new Sgproducto();
if(producto.getSiCodTipProducto() != null) {
sgproducto.setSgtipproducto(new Sgtipproducto(producto.getSiCodTipProducto()));
}
if(producto.getSiCodMedida() != null) {
sgproducto.setSgmedida(new Sgmedida(new SgmedidaId(producto.getSiCodMedida(), producto.getSiCodTipMedida())));
}
sgproducto.setSgmarca(new Sgmarca(producto.getSiCodMarca()));
sgproducto.setSglinea(new Sglinea(new SglineaId(producto.getSiCodCategoria(), producto.getIcodEmpresa(), producto.getSiCodLinea())));
if(producto.getSiCodMatProducto() != null) {
sgproducto.setSgmatproducto(new Sgmatproducto(new SgmatproductoId(producto.getSiCodMatProducto(), producto.getIcodEmpresa())));
}
sgproducto.setSgestado(new Sgestado(Constantes.ESTADO_ACTIVO));
if(producto.getIcodProveedor() != null) {
sgproducto.setSgempresaByIcodProveedor(new Sgempresa(producto.getIcodProveedor()));
}
if(producto.getIcodImagen() != null) {
sgproducto.setSgimagen(new Sgimagen(producto.getIcodImagen()));
}
if(producto.getSiCodUniMedida() != null) {
sgproducto.setSgunimedida(new Sgunimedida(new SgunimedidaId(producto.getSiCodUniMedida(), producto.getIcodEmpresa())));
}
if(producto.getSiCodTemporada() != null) {
sgproducto.setSgtemporada(new Sgtemporada(new SgtemporadaId(producto.getSiCodTemporada(), producto.getIcodEmpresa())));
}
if(producto.getSiCodSubLinea() != null) {
sgproducto.setSgsublinea(new Sgsublinea(new SgsublineaId(producto.getSiCodSubLinea(), producto.getSiCodCategoria(),
producto.getIcodEmpresa(), producto.getSiCodLinea())));
}
sgproducto.setVcodProducto(producto.getVcodPadre());
sgproducto.setVdesProducto(producto.getVdescripcion());
Integer icodProductoPadre = null;
Date fecha = Calendar.getInstance().getTime();
if (producto.getIcodProducto() == 0){
sgproducto.setIcodUsuCreacion(icodUsu);
sgproducto.setVnomTerCreacion(vnomTer);
sgproducto.setTsFecCreacion(fecha);
icodProductoPadre = iProductoDao.obtenerProductoGuardado(sgproducto);
}
}
代码Java实体:
@Entity
@Table(name = "`SGProducto`", schema = "`public`")
public class Sgproducto implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private int icodProducto;
private Sgtipproducto sgtipproducto;
private Sgmedida sgmedida;
private Sgmarca sgmarca;
private Sglinea sglinea;
private Sgmatproducto sgmatproducto;
private Sgempresa sgempresaByIcodEmpresa;
private Sgestado sgestado;
private Sgempresa sgempresaByIcodProveedor;
private Sgimagen sgimagen;
private Sgunimedida sgunimedida;
private Sgtemporada sgtemporada;
private Sgsublinea sgsublinea;
private String vcodProducto;
private String vdesProducto;
private String vcodNemotecnico;
private Integer icodPadre;
private String vcodBarra;
private Boolean binafecto;
private Boolean bpercepcion;
private Boolean bconsignacion;
private String vparArancelaria;
private BigDecimal nfactor;
private Boolean bexportacion;
private Boolean bplanificacion;
private Boolean bmaquinaria;
private BigDecimal ntolIngreso;
private Date tsFecCreacion;
private int icodUsuCreacion;
private String vnomTerCreacion;
private Date tsFecActualizacion;
private Integer icodUsuActualizacion;
private String vnomTerActualizacion;
public Sgproducto() {
}
@Id
@SequenceGenerator(name = "seq_prod", sequenceName = "public.sq_sgproducto")
@GeneratedValue(generator = "seq_prod")
@Column(name = "`iCodProducto`", nullable = false)
public int getIcodProducto() {
return this.icodProducto;
}
public void setIcodProducto(int icodProducto) {
this.icodProducto = icodProducto;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "`siCodTipProducto`", nullable = false)
public Sgtipproducto getSgtipproducto() {
return this.sgtipproducto;
}
public void setSgtipproducto(Sgtipproducto sgtipproducto) {
this.sgtipproducto = sgtipproducto;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "`siCodMedida`", referencedColumnName = "`siCodMedida`"),
@JoinColumn(name = "`siCodTipMedida`", referencedColumnName = "`siCodTipMedida`") })
public Sgmedida getSgmedida() {
return this.sgmedida;
}
public void setSgmedida(Sgmedida sgmedida) {
this.sgmedida = sgmedida;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "`siCodMarca`")
public Sgmarca getSgmarca() {
return this.sgmarca;
}
public void setSgmarca(Sgmarca sgmarca) {
this.sgmarca = sgmarca;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "`siCodCategoria`", referencedColumnName = "`siCodCategoria`", nullable = false),
@JoinColumn(name = "`iCodEmpresa`", referencedColumnName = "`iCodEmpresa`", nullable = false),
@JoinColumn(name = "`siCodLinea`", referencedColumnName = "`siCodLinea`", nullable = false) })
public Sglinea getSglinea() {
return this.sglinea;
}
public void setSglinea(Sglinea sglinea) {
this.sglinea = sglinea;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "`siCodMatProducto`", referencedColumnName = "`siCodMatProducto`", insertable = false, updatable = false),
@JoinColumn(name = "`iCodEmpresa`", referencedColumnName = "`iCodEmpresa`", insertable = false, updatable = false) })
public Sgmatproducto getSgmatproducto() {
return this.sgmatproducto;
}
public void setSgmatproducto(Sgmatproducto sgmatproducto) {
this.sgmatproducto = sgmatproducto;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "`iCodEmpresa`", nullable = false, insertable = false, updatable = false)
public Sgempresa getSgempresaByIcodEmpresa() {
return this.sgempresaByIcodEmpresa;
}
public void setSgempresaByIcodEmpresa(Sgempresa sgempresaByIcodEmpresa) {
this.sgempresaByIcodEmpresa = sgempresaByIcodEmpresa;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "`siCodEstado`", nullable = false)
public Sgestado getSgestado() {
return this.sgestado;
}
public void setSgestado(Sgestado sgestado) {
this.sgestado = sgestado;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "`iCodProveedor`")
public Sgempresa getSgempresaByIcodProveedor() {
return this.sgempresaByIcodProveedor;
}
public void setSgempresaByIcodProveedor(Sgempresa sgempresaByIcodProveedor) {
this.sgempresaByIcodProveedor = sgempresaByIcodProveedor;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "`iCodImagen`")
public Sgimagen getSgimagen() {
return this.sgimagen;
}
public void setSgimagen(Sgimagen sgimagen) {
this.sgimagen = sgimagen;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "`siCodUniMedida`", referencedColumnName = "`siCodUniMedida`", nullable = false, insertable = false, updatable = false),
@JoinColumn(name = "`iCodEmpresa`", referencedColumnName = "`iCodEmpresa`", nullable = false, insertable = false, updatable = false) })
public Sgunimedida getSgunimedida() {
return this.sgunimedida;
}
public void setSgunimedida(Sgunimedida sgunimedida) {
this.sgunimedida = sgunimedida;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "`siCodTemporada`", referencedColumnName = "`siCodTemporada`", insertable = false, updatable = false),
@JoinColumn(name = "`iCodEmpresa`", referencedColumnName = "`iCodEmpresa`", insertable = false, updatable = false) })
public Sgtemporada getSgtemporada() {
return this.sgtemporada;
}
public void setSgtemporada(Sgtemporada sgtemporada) {
this.sgtemporada = sgtemporada;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "`siCodSubLinea`", referencedColumnName = "`siCodSubLinea`", insertable = false, updatable = false),
@JoinColumn(name = "`siCodCategoria`", referencedColumnName = "`siCodCategoria`", insertable = false, updatable = false),
@JoinColumn(name = "`iCodEmpresa`", referencedColumnName = "`iCodEmpresa`", insertable = false, updatable = false),
@JoinColumn(name = "`siCodLinea`", referencedColumnName = "`siCodLinea`", insertable = false, updatable = false) })
public Sgsublinea getSgsublinea() {
return this.sgsublinea;
}
public void setSgsublinea(Sgsublinea sgsublinea) {
this.sgsublinea = sgsublinea;
}
.........
}
我的SQL表的结构:
CREATE TABLE "SGProducto"
(
"iCodProducto" integer NOT NULL DEFAULT nextval('sq_sgproducto'::regclass),
"iCodEmpresa" integer NOT NULL, -- Codigo Empresa Origen
"vCodProducto" character varying(20) NOT NULL,
"vDesProducto" character varying(150), -- Descripcion del Producto
"vCodNemotecnico" character varying(15), -- Codigo Nemotecnico del Producto
"iCodPadre" integer, -- Codigo de Padre Asociado
"siCodTemporada" smallint,
"siCodUniMedida" smallint NOT NULL, -- Unidad de Medida
"siCodCategoria" smallint NOT NULL,
"siCodLinea" smallint NOT NULL,
"siCodSubLinea" smallint,
"siCodMarca" smallint,
"siCodTipProducto" smallint NOT NULL,
"iCodImagen" integer, -- Codigo de Imagen
"siCodMatProducto" smallint,
"siCodMedida" smallint,
"siCodTipMedida" smallint,
"iCodProveedor" integer,
"vCodBarra" character varying(20),
"bInafecto" boolean DEFAULT false,
"bPercepcion" boolean DEFAULT false,
"bConsignacion" boolean DEFAULT false,
"vParArancelaria" character varying(30), -- Partida Arancelaria
"nFactor" numeric(18,4),
"bExportacion" boolean DEFAULT false,
"bPlanificacion" boolean DEFAULT false,
"bMaquinaria" boolean DEFAULT false,
"nTolIngreso" numeric(8,2), -- Tolerancia Ingreso
"siCodEstado" smallint NOT NULL DEFAULT 1,
"tsFecCreacion" timestamp without time zone NOT NULL DEFAULT now(),
"iCodUsuCreacion" integer NOT NULL,
"vNomTerCreacion" character varying(20) NOT NULL,
"tsFecActualizacion" timestamp without time zone,
"iCodUsuActualizacion" integer,
"vNomTerActualizacion" character varying(20),
CONSTRAINT "PK_SGProducto" PRIMARY KEY ("iCodProducto"),
CONSTRAINT "FK_SGEmpresa_SGProducto" FOREIGN KEY ("iCodEmpresa")
REFERENCES "SGEmpresa" ("iCodEmpresa") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "FK_SGEmpresa_SGProducto_iCodProveedor" FOREIGN KEY ("iCodProveedor")
REFERENCES "SGEmpresa" ("iCodEmpresa") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "FK_SGEstado_SGProducto" FOREIGN KEY ("siCodEstado")
REFERENCES "SGEstado" ("siCodEstado") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "FK_SGImagen_SGProducto" FOREIGN KEY ("iCodImagen")
REFERENCES "SGImagen" ("iCodImagen") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "FK_SGLinea_SGProducto" FOREIGN KEY ("siCodCategoria", "iCodEmpresa", "siCodLinea")
REFERENCES "SGLinea" ("siCodCategoria", "iCodEmpresa", "siCodLinea") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "FK_SGMarca_SGProducto" FOREIGN KEY ("siCodMarca")
REFERENCES "SGMarca" ("siCodMarca") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "FK_SGMedida_SGProducto" FOREIGN KEY ("siCodMedida", "siCodTipMedida")
REFERENCES "SGMedida" ("siCodMedida", "siCodTipMedida") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "FK_SGSubLinea_SGProducto" FOREIGN KEY ("siCodSubLinea", "siCodCategoria", "iCodEmpresa", "siCodLinea")
REFERENCES "SGSubLinea" ("siCodSubLinea", "siCodCategoria", "iCodEmpresa", "siCodLinea") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "FK_SGTemporada_SGProducto" FOREIGN KEY ("siCodTemporada", "iCodEmpresa")
REFERENCES "SGTemporada" ("siCodTemporada", "iCodEmpresa") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "FK_SGTipProducto_SGProducto" FOREIGN KEY ("siCodTipProducto")
REFERENCES "SGTipProducto" ("siCodTipProducto") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "PK_SGMatProducto_SGProducto" FOREIGN KEY ("siCodMatProducto", "iCodEmpresa")
REFERENCES "SGMatProducto" ("siCodMatProducto", "iCodEmpresa") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT "PK_SGUniMedida_SGProducto" FOREIGN KEY ("siCodUniMedida", "iCodEmpresa")
REFERENCES "SGUniMedida" ("siCodUniMedida", "iCodEmpresa") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
OIDS=FALSE
);