Bom dia Pessoal.
Eu sou novo no uso do Hibernate e estou encontrando problemas na persistência dos dados em meu projeto.
Eu tenho duas classes Cidades e Clientes.
Na classe cliente possui um atributo do tipo Cidade com relacionamento ManyToOne, quando peço para persistir os dados se informo a cidade no cadastro de clientes, salva normalmente, porém, quando não seleciono a cidade no cadastro de clientes lança a seguinte exceção:
org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : br.com.newidea.models.Cliente.cidade -> br.com.newidea.models.Cidade; nested exception is java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : br.com.newidea.models.Cliente.cidade -> br.com.newidea.models.Cidade
Abaixo segue o código das entidades:
@Entity
@Table(name=“T_CIDADES”)
public class Cidade {
@Id
@GeneratedValue
private Integer id;
@NotEmpty
@Size(min=5, max=60)
private String nome;
@Pattern(regexp="^\\d{5}[-]\\d{3}$")
private String cep;
@NotEmpty
private String estado;
// get and setters
}
@Entity
@Table(name = “T_CLIENTES”)
public class Cliente {
@Id
@GeneratedValue
private Integer id;
@NotEmpty
@Size(min=5, max=60)
private String nome;
private String endereco;
private String numero;
private String bairro;
@ManyToOne(optional=true)
@JoinColumn(name="cidade", referencedColumnName="id")
private Cidade cidade;
// get and setters
}
Alguém poderia me ajudar a resolver esse problema?
Obrigado.