Many to Many lado propietario Project
This commit is contained in:
@@ -7,5 +7,6 @@ Indica no arquivo README.md na raíz do proxecto o comando que utilizaches (0,1
|
||||
O comando e:
|
||||
mvn clean generate-sources
|
||||
|
||||
|
||||
En el pom.xml
|
||||
<packageName>com.example.hibernate.model</packageName>
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.example.hibernate.model;
|
||||
// Generated 24 feb 2026, 18:01:58 by Hibernate Tools 6.6.0.Final
|
||||
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
@@ -26,11 +25,9 @@ import java.util.Set;
|
||||
* Emp generated by hbm2java
|
||||
*/
|
||||
@Entity
|
||||
@Table(name="EMP"
|
||||
)
|
||||
@Table(name = "EMP")
|
||||
public class Emp implements java.io.Serializable {
|
||||
|
||||
|
||||
private Integer empno;
|
||||
private Emp jefe;
|
||||
private Dept dept;
|
||||
@@ -46,7 +43,8 @@ public class Emp implements java.io.Serializable {
|
||||
public Emp() {
|
||||
}
|
||||
|
||||
public Emp(Emp jefe, Dept dept, String ename, String job, Date hiredate, BigDecimal sal, BigDecimal comm, Set<Account> accounts, Set<Project> projects, Set<Emp> emps) {
|
||||
public Emp(Emp jefe, Dept dept, String ename, String job, Date hiredate, BigDecimal sal, BigDecimal comm,
|
||||
Set<Account> accounts, Set<Project> projects, Set<Emp> emps) {
|
||||
this.jefe = jefe;
|
||||
this.dept = dept;
|
||||
this.ename = ename;
|
||||
@@ -59,8 +57,8 @@ public class Emp implements java.io.Serializable {
|
||||
this.emps = emps;
|
||||
}
|
||||
|
||||
@Id @GeneratedValue(strategy=IDENTITY)
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = IDENTITY)
|
||||
|
||||
@Column(name = "EMPNO", unique = true, nullable = false)
|
||||
public Integer getEmpno() {
|
||||
@@ -91,7 +89,6 @@ public class Emp implements java.io.Serializable {
|
||||
this.dept = dept;
|
||||
}
|
||||
|
||||
|
||||
@Column(name = "ENAME", length = 20)
|
||||
public String getEname() {
|
||||
return this.ename;
|
||||
@@ -101,7 +98,6 @@ public class Emp implements java.io.Serializable {
|
||||
this.ename = ename;
|
||||
}
|
||||
|
||||
|
||||
@Column(name = "JOB", length = 20)
|
||||
public String getJob() {
|
||||
return this.job;
|
||||
@@ -121,7 +117,6 @@ public class Emp implements java.io.Serializable {
|
||||
this.hiredate = hiredate;
|
||||
}
|
||||
|
||||
|
||||
@Column(name = "SAL", precision = 15, scale = 2)
|
||||
public BigDecimal getSal() {
|
||||
return this.sal;
|
||||
@@ -131,7 +126,6 @@ public class Emp implements java.io.Serializable {
|
||||
this.sal = sal;
|
||||
}
|
||||
|
||||
|
||||
@Column(name = "COMM", precision = 15, scale = 2)
|
||||
public BigDecimal getComm() {
|
||||
return this.comm;
|
||||
@@ -149,11 +143,16 @@ public class Emp implements java.io.Serializable {
|
||||
public void setAccounts(Set<Account> accounts) {
|
||||
this.accounts = accounts;
|
||||
}
|
||||
// Añadese o atributo mapppedBy co atributo da clase do outro extremo da relación.
|
||||
@ManyToMany(fetch = FetchType.LAZY, mappedBy = "emps")
|
||||
|
||||
@ManyToMany(fetch=FetchType.LAZY)
|
||||
@JoinTable(name="PROJECT_EMP", catalog="empresa", joinColumns = {
|
||||
@JoinColumn(name="EMPNO", nullable=false, updatable=false) }, inverseJoinColumns = {
|
||||
@JoinColumn(name="PROJECTNO", nullable=false, updatable=false) })
|
||||
/*
|
||||
* Eliminamos las JoinTable y JoinCloun por que o lado propietario e Project
|
||||
*
|
||||
* @JoinTable(name="PROJECT_EMP", catalog="empresa", joinColumns = {
|
||||
* @JoinColumn(name="EMPNO", nullable=false) }, inverseJoinColumns = {
|
||||
* @JoinColumn(name="PROJECTNO", nullable=false) })
|
||||
*/
|
||||
public Set<Project> getProjects() {
|
||||
return this.projects;
|
||||
}
|
||||
@@ -171,9 +170,4 @@ public class Emp implements java.io.Serializable {
|
||||
this.emps = emps;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -59,9 +59,11 @@ public class Project implements java.io.Serializable {
|
||||
}
|
||||
|
||||
@ManyToMany(fetch = FetchType.LAZY)
|
||||
// Nome da tabela intermedia, nome da base de datos
|
||||
@JoinTable(name = "PROJECT_EMP", catalog = "empresa", joinColumns = {
|
||||
@JoinColumn(name = "PROJECTNO", nullable = false, updatable = false) }, inverseJoinColumns = {
|
||||
@JoinColumn(name = "EMPNO", nullable = false, updatable = false) })
|
||||
// Nome da columna da tabela intermedia, nome da base de datos
|
||||
@JoinColumn(name = "PROJECTNO", nullable = false) }, inverseJoinColumns = {
|
||||
@JoinColumn(name = "EMPNO", nullable = false) })
|
||||
public Set<Emp> getEmps() {
|
||||
return this.emps;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user