Ola Pessoal
Tenho duas classes entidade EntityRepository e EntityUser, e tenho também vários relacionamentos entre essas duas classes, como podem ver abaixo:
Classe EntityRepository:
@Entity
@Table(name = "gitRepository")
public class EntityRepository implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
//....
@ManyToOne
private EntityUser owner;
@JoinColumn(name = "COLLABORATEDREPOSITORIES_ID")
@ManyToMany(mappedBy = "collaboratedRepositories")
private List<EntityUser> collaborators;
@JoinColumn(name = "WATCHEDREPOSITORIES_ID")
@ManyToMany(mappedBy = "watchedRepositories")
private List<EntityUser> watchers;
//....
}
Classe EntityUser:
@Entity
@Table(name = "gitUser")
public class EntityUser implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
//....
@ManyToMany
private List<EntityRepository> watchedRepositories;
@ManyToMany
private List<EntityRepository> collaboratedRepositories;
//....
}
Meu problema é que todos esses relacionamentos estão sendo criados em uma única tabela no banco, ficando assim:

obs: caso não consigam visualizar a imagem acima, clique aqui: http://imageshack.us/f/193/notnull.png/
Vejam que os campos dessa tabela ficam como “NotNull”, não consegui fazer com que eles não ficassem assim, dessa forma eu não consigo fazer apenas um dos relacionamentos porque todos os campos dessa tabela precisam ficar preenchidos.
Sendo assim, pergunto: Não existe uma forma com que esses campos não fiquem como “NotNull”, ou uma forma de fazer o JPA criar duas tabelas, uma para relacionamento de Watchers e outra para relacionamento de Collaborators?
Agradeço antecipadamente.
Douglas Junior