Olá!
Eu tenho um problema ao tentar persistir uma entity quando a FK é parte da PK.
Estou utilizando JPA 1.0 e segui as documentações que encontrei.
Minha database:
Table Cliente
cli_id_cliente (PK)
Table Cartao
cli_id_cartao (PK)
Table ClienteCartao
cli_id_cliente (PK)
cli_id_cartao (PK)
Minhas entidades:
[code]public class ClienteCartao{
@Id
@Column(name = “car_id_cartao”)
private int idCartao;
@Id
@Column(name = “cli_id_cliente”)
private int idCliente;
@ManyToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumns({@PrimaryKeyJoinColumn(name = “car_id_cartao”, referencedColumnName = “car_id_cartao”)})
private Cartao cartao;
@ManyToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumns({@PrimaryKeyJoinColumn(name = “cli_id_cliente”, referencedColumnName = “cli_id_cliente”)})
private Cliente cliente;
}
public class Cliente{
@Id
@Column(name = “cli_id_cliente”)
private int idCliente;
@OneToMany(mappedBy=“cliente”)
private java.util.List listClienteCartao;
}
public class Cartao{
@Id
@Column(name = “car_id_cartao”)
private int idCartao;
@OneToMany(mappedBy = “cartao”)
private java.util.List listClienteCartao;
}[/code]
Ao tentar persistir ClienteCartao, recebo a seguinte mensagem:
08:21:22,711 WARN [JDBCExceptionReporter] SQL Error: 207, SQLState: S0022
08:21:22,711 ERROR [JDBCExceptionReporter] [HOST]Invalid column name ‘cartao_car_id_cartao’.
08:21:22,711 WARN [JDBCExceptionReporter] SQL Error: 207, SQLState: S0022
08:21:22,711 ERROR [JDBCExceptionReporter] [HOST]Invalid column name ‘cliente_cli_id_cliente’.
Eu preciso configurar mais alguma coisa?
Eu segui esse tutorial:
http://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing#Example_ManyToOne_id_annotation