/* * Copyright 2009 Werner Guttmann * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.castor.jpa.scenario.many_to_many; import java.util.Collection; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.Table; /** * This class is part of the functional test suite for Castor JDO * and assists in testing JPA annotation support. * * @author Werner Guttmann * @since 1.3.1 */ @Entity @Table(name = "ManyToMany_book") public class Book { private int isbn; private String title; private Collection<Author> authors; @Id public int getIsbn() { return isbn; } public void setIsbn(int isbn) { this.isbn = isbn; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } @ManyToMany(targetEntity = Author.class) @JoinTable(name = "ManyToMany_books_authors", joinColumns = @JoinColumn(name = "book_id"), inverseJoinColumns = @JoinColumn(name = "author_id")) public Collection<Author> getAuthors() { return authors; } public void setAuthors(Collection<Author> authors) { this.authors = authors; } }