Pessoal, já li vários tópicos sobre chave estrangeira, mas não consegui entender direitinho, dai resolvi apelar
Tô usando o Hibernate com anotações, tenho a classe Automovel e a classe Categoria, o Automovel tem como chave primaria o numero do chassi, a categoria tem o ID, o Automovel tem que ter uma categoria, onde eu torno popular o nome da Categoria, gostaria que quando uma Categoria fosse editada, já editasse automaticamente no automóvel, até ai tudo bem, mas também gostaria que quando removessem uma categoria, removessem todos os Automoevis relacionados a ela.
Segue o código das classes:
@Entity
@Table(name = "Automovel")
public class Automovel implements Serializable {
@Id
@Column(name = "numero_chassi", unique = true, nullable = false)
private String numeroChassi;
@Column(name = "placa", unique = true, nullable = false)
private String placa;
@Column(name = "modelo", nullable = false)
private String modelo;
@Column(name = "ano", nullable = false)
private int ano;
@Column(name = "cor", nullable = false)
private String cor;
@OneToOne(fetch = FetchType.EAGER)
@Cascade(CascadeType.ALL)
@JoinColumn(name = "id_marca")
private Marca marca;
@OneToOne(fetch = FetchType.EAGER)
@Cascade(CascadeType.ALL)
@JoinColumn(name = "id_categoria")
private Categoria categoria;
@Entity
@Table(name = "Categoria")
public class Categoria implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_categoria", unique = true, nullable = false)
int id;
@Column(name = "nome", nullable = false)
String nome;
@Column(name = "valor", nullable = false)
double valor;
@Column(name = "descricao", nullable = false)
String descricao;
Alguém poderia dizer o que estou fazendo de errado?