Oi pessoal, estou com problemas para salvar o codigo de uma multa como codigoMulta de outra classe.
Segue as classes
Multa
@Entity
@Table(name = "Multa")
public class Multa extends Entidade implements Serializable {
private static final long serialVersionUID = 1L;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "codigoUsuario", nullable = false)
private Usuario usuario;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "codigoUsuarioOperador", nullable = false)
private Usuario operador;
@Column(name="data")
private Long data;
@Column(name="tipo")
@Enumerated(EnumType.STRING)
private CategoriaDaMultaEnum multa;
@Column(name="descricao")
private String descricao;
@OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="multa")
private List<ImagemMulta> imagem;
public List<ImagemMulta> getImagem() {
return imagem;
}
public void setImagem(List<ImagemMulta> imagem) {
this.imagem = imagem;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public Usuario getOperador() {
return operador;
}
public void setOperador(Usuario usuario) {
this.operador = usuario;
}
public Long getData() {
return data;
}
public void setData(Long data) {
this.data = data;
}
public CategoriaDaMultaEnum getMulta() {
return multa;
}
public void setMulta(CategoriaDaMultaEnum multa) {
this.multa = multa;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
}
ImagemMulta
@Entity
@Table(name = "ImagemMulta")
public class ImagemMulta extends Entidade implements Serializable{
private static final long serialVersionUID = 1L;
@Lob
@Column(name="imagem")
private byte[] imagem;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "codigoMulta", nullable = false)
private Multa multa;
public Multa getMulta() {
return multa;
}
public void setMulta(Multa multa) {
this.multa = multa;
}
public byte[] getImagem() {
return imagem;
}
public void setImagem(byte[] imagem) {
this.imagem = imagem;
}
}
Entidade (so para saberem o que é)
@MappedSuperclass
public class Entidade implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "codigo")
@GeneratedValue(strategy = GenerationType.AUTO)
protected Long codigo;
public Long getCodigo() {
return codigo;
}
public void setCodigo(Long codigo) {
this.codigo = codigo;
}
}
Bom, é o seguinte,
//Dados da nova multa
Multa novaMulta = new Multa();
novaMulta.setOperador(operador);
novaMulta.setData(System.currentTimeMillis());
novaMulta.setUsuario(usuario);
novaMulta.setMulta(getCategoriaDaMulta());
novaMulta.setDescricao(taDescricao.getText());
novaMulta.setImagem(imagensMulta);
//Salva multa
MultaDao multaDao = new MultaDaoHibernateImpl();
multaDao.save(novaMulta);
eu uso o código assim para salvar uma nova Multa, a variável imagensMulta é uma List<ImagemMulta> que contem todas as imagens que o usuário quer salvar referente a uma multa, o problema é que na classe ImagemMulta ele salva a imagem mas não o codioMulta para fazer a referencia de qual multa essa imagem pertence, a questão é que eu não consigo referenciar o código da classe multa para o codigoMulta da classe ImagemMulta, as imagensMultas são salvas com o cascade all que eu botei na classe Multa mas não sei como fazer o id da multa ir para a imagemMulta.

