/*
* Hibernate OGM, Domain model persistence for NoSQL datastores
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.ogm.datastore.mongodb.test.associations.ordercolumn;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OrderColumn;
/**
* @author Gunnar Morling
*/
@Entity
public class Episode {
private String id;
private String name;
private TvShow show;
private List<Writer> authors = new ArrayList<Writer>();
Episode() {
}
public Episode(String id, String name, TvShow show) {
this.id = id;
this.name = name;
this.show = show;
}
@Id
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@ManyToOne
@JoinColumn(insertable = false, updatable = false, name = "tv_show_id")
public TvShow getShow() {
return show;
}
public void setShow(TvShow show) {
this.show = show;
}
@ManyToMany
@JoinTable(
joinColumns = @JoinColumn(name = "episodeId"),
inverseJoinColumns = @JoinColumn(name = "authorId")
)
@OrderColumn(name = "authorOrder")
public List<Writer> getAuthors() {
return authors;
}
public void setAuthors(List<Writer> authors) {
this.authors = authors;
}
}