/* * Hibernate, Relational Persistence for Idiomatic Java * * Copyright (c) 2010, Red Hat, Inc. and/or its affiliates or third-party contributors as * indicated by the @author tags or express copyright attribution * statements applied by the authors. All third-party contributions are * distributed under license by Red Hat, Inc. * * This copyrighted material is made available to anyone wishing to use, modify, * copy, or redistribute it subject to the terms and conditions of the GNU * Lesser General Public License, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this distribution; if not, write to: * Free Software Foundation, Inc. * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ package org.hibernate.search.test.bridge; import java.util.ArrayList; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; import org.hibernate.search.annotations.Analyze; import org.hibernate.search.annotations.ClassBridge; import org.hibernate.search.annotations.Field; import org.hibernate.search.annotations.Indexed; import org.hibernate.search.annotations.Store; /** * @author Emmanuel Bernard */ @Entity @Indexed @Table(name = "teacher") @ClassBridge( name = "amount_of_students", analyze = Analyze.NO, store = Store.YES, impl = StudentsSizeBridge.class ) public class Teacher { private Long id; private String name; private List<Student> students; public Teacher() { students = new ArrayList<Student>(); } @Id @GeneratedValue @Column(name = "teacher_id") public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Column(name = "name") @Field(store = Store.YES) public String getName() { return name; } public void setName(String name) { this.name = name; } @OneToMany(mappedBy = "teacher") public List<Student> getStudents() { return students; } public void setStudents(List<Student> students) { this.students = students; } }