Programming/JPA

Join Table

Albothyl 2019. 5. 31. 18:46

별도의 테이블을 통하여 Mapping 정보를 관리한다.

  • table:  some_mapping_table
    column: someMappingId | someEntityId | otherEntityId

@Entity
@Table(schema = "some", name = "some_entity")
public class SomeEntity extends CreatedEntity {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long someEntityId;

	private String name;

	@OneToMany(fetch = FetchType.EAGER)
	@JoinTable(name = "some_mapping_table",
		joinColumns = @JoinColumn(name = "someEntityId"),
		inverseJoinColumns = @JoinColumn(name = "otherEntityId"))
	private List<OtherEntity> otherEntityList;
}
@Entity
@Table(schema = "some", name = "other_entity")
public class OtherEntity extends CreatedEntity {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long otherEntityId;

	private String name;
}