我有两个关系表 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;
添加回答
举报
0/150
提交
取消