| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2007 14:13:59
|
marciopPJ
Entusiasta Java
![[Avatar]](/images/avatar/0)
Membro desde: 12/09/2006 00:00:00
Mensagens: 16
Offline
|
Tenho a entidade PedidoProduto que serve para ligar pedido com produtos
@Entity
public class PedidoProduto {
@Id
private int codigo;
@JoinColumns(@JoinColumn(name = "CODIGOPED",referencedColumnName="CODIGOPED"))
private Pedido pedido;
@JoinColumns(@JoinColumn(name = "CODIGOPRO",referencedColumnName="CODIGOPRO"))
private Produto produto;
private BigDecimal preco;
}
A mesma criou a tabela como abaixo:
CREATE TABLE `bd_teste`.`pedidoproduto` (
`CODIGO` int(11) NOT NULL,
`PRECO` decimal(38,0) default NULL,
`CODIGOPRO` int(11) default NULL,
`CODIGOPED` int(11) default NULL,
PRIMARY KEY (`CODIGO`),
KEY `FK_PEDIDOPRODUTO_CODIGOPRO` (`CODIGOPRO`),
KEY `FK_PEDIDOPRODUTO_CODIGOPED` (`CODIGOPED`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
queria saber por que criou esse KEY ao invés de FOREIGN KEY E COMO EU FAÇO PARA A TABELA FICAR COM TIPO INNODB. Estou usando MYSQL 5
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2007 14:23:29
|
marciopPJ
Entusiasta Java
![[Avatar]](/images/avatar/0)
Membro desde: 12/09/2006 00:00:00
Mensagens: 16
Offline
|
Será que o problema do KEY ao invés de FOREIGN KEY esta relacionado ao tipo MyISAM ? O que faço para corrigir?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2007 14:36:08
|
luBSPJ
Virtual Machine Man
![[Avatar]](/images/avatar/0)
Membro desde: 29/05/2004 00:00:00
Mensagens: 718
Offline
|
oi
Da uma olhada se ManyToOne não resolve a parte do foreign key
http://java.sun.com/javaee/5/docs/api/javax/persistence/ManyToOne.html
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2007 18:31:03
|
marciopPJ
Entusiasta Java
![[Avatar]](/images/avatar/0)
Membro desde: 12/09/2006 00:00:00
Mensagens: 16
Offline
|
coloquei assim na entidade PedidoProduto
@ManyToOne(optional=false,cascade=CascadeType.ALL)
@JoinColumns(@JoinColumn(name = "CODIGOPRO",referencedColumnName="CODIGOPRO"))
private Produto produto;
e nao resolveu, tentei tambem sem os parametros no ManyToOne mas deu no mesmo, acho que o problema esta por ser MyISAM ao inves de innodb, acho que eu tenho que resolver isso primeiro, sera que nao é isso?
|
|
|
 |
|
|