mardi 5 mai 2015

Can I add non-Id fields in join table in Many to Many Relationship?

I have many to many relationship between Person and Address tables.

Person:

@Entity
@Table(name = "PERSON_MTM", schema = "Examples")
public class Person 
{
@Id
@Column(name = "PERSON_ID")
private String personId;

@Column(name = "PERSON_NAME")
private String personName;

@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "PERSON_ADDRESS", schema = "KunderaExamples",joinColumns = { @JoinColumn(name = "PERSON_ID") }, inverseJoinColumns = {  @JoinColumn(name = "ADDRESS_ID") })
private Set<AddressMTM> addresses;

//setters and getters

}

Address:

@Entity
@Table(name = "ADDRESS_MTM", schema = "Examples")
public class Address
{
@Id
@Column(name = "ADDRESS_ID")
private String addressId;

@Column(name = "STREET")
private String street;

// setters and getters

}

I have a joinTable named PERSON_ADDRESS.

  • Can I add non-Id fields to join-table?
  • Are there any JPA constraints in it?

Note: My question is not in terms of Hibernate. I am asking on behalf of JPA 2.1

Aucun commentaire:

Enregistrer un commentaire