为了账号安全,请及时绑定邮箱和手机立即绑定

Not-null 属性引用一个临时值 Hibernate

Not-null 属性引用一个临时值 Hibernate

慕田峪9158850 2023-04-26 16:57:50
我有两个关系表 1 : n多对一员工和部门一个员工只能有一个部门。一对多,一个部门有几个员工。departments 表已经有创建的部门 不需要创建新的部门来添加员工(只存在一个)我的模型:Funcionario/多对一@Entity(name="Funcionario")@Inheritance(strategy = InheritanceType.SINGLE_TABLE)@DiscriminatorColumn(name = "tipo", length = 1, discriminatorType = DiscriminatorType.STRING)@DiscriminatorValue("F")@Table(name = "funconarios")public abstract class Funcionario implements Autenticar {    @Id    @GeneratedValue(strategy = GenerationType.AUTO)    @Column(name = "codFuncionario")    private String codFuncionario;    @ManyToOne      @JoinColumn(name="codDepart", referencedColumnName="codDepart",nullable=false)      private Departamento departamento;    //private Endereco endereco;    @Column(name = "matricula")    private String matricula;    @Column(name = "nome")    private String nome;    @Column(name = "cpf")    private String cpf;    @Column(name = "rg")    private String rg;    @Column(name = "usuario")    private String usuario;    @Column(name = "senha")    private String senha;    @Column(name = "dataEntrada")    private Date dataEntrada;     @Column(name = "dataSaida")    private Date dataSaida;    @Column(name = "dataNascimento")    private Date dataNascimento;    @Column(name = "salario")    private Double salario;//construtores      public Funcionario() {    }我的模型部门/一对多:@Entity@Table(name="departamento") public class Departamento {    @Id      @GeneratedValue      @Column(name="codDepart")     private Integer codDepartamento;    @Column(name="nome")      private String nomeDepartamento;    @OneToMany(mappedBy="departamento", cascade= CascadeType.ALL)      private Set<Funcionario> funcionarios;      public Departamento() {    }    public Integer getCodDepartamento() {        return codDepartamento;    }    public void setCodDepartamento(Integer codDepartamento) {        this.codDepartamento = codDepartamento;    }    public String getNomeDepartamento() {        return nomeDepartamento;    }
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

你必须级联变化。放在你的Funcionario班级:


@ManyToOne(cascade = CascadeType.ALL)

@JoinColumn(name="codDepart", referencedColumnName="codDepart",nullable=false)  

private Departamento departamento;


查看完整回答
反对 回复 2023-04-26
  • 1 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信