/* * Hibernate, Relational Persistence for Idiomatic Java * * Copyright (c) 2009 by Red Hat Inc and/or its affiliates or by * third-party contributors as indicated by either @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.ejb.test.metadata; import java.io.Serializable; import java.util.List; import java.util.Map; import java.util.Set; import javax.persistence.ElementCollection; import javax.persistence.EmbeddedId; import javax.persistence.Entity; import javax.persistence.MapKeyColumn; import javax.persistence.OrderColumn; /** * @author Emmanuel Bernard */ @Entity(name="org.hibernate.ejb.test.metadata.House") public class House { private Key key; private Address address; private Set<Room> rooms; private Map<String, Room> roomsByName; private List<Room> roomsBySize; @ElementCollection @OrderColumn(name = "size_order") public List<Room> getRoomsBySize() { return roomsBySize; } public void setRoomsBySize(List<Room> roomsBySize) { this.roomsBySize = roomsBySize; } @ElementCollection @MapKeyColumn(name="room_name") public Map<String, Room> getRoomsByName() { return roomsByName; } public void setRoomsByName(Map<String, Room> roomsByName) { this.roomsByName = roomsByName; } @ElementCollection public Set<Room> getRooms() { return rooms; } public void setRooms(Set<Room> rooms) { this.rooms = rooms; } @EmbeddedId public Key getKey() { return key; } public void setKey(Key key) { this.key = key; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public static class Key implements Serializable { private String uuid; public String getUuid() { return uuid; } public void setUuid(String uuid) { this.uuid = uuid; } } }