package de.ctdo.bunti.model; import javax.persistence.*; import java.io.Serializable; import java.util.HashSet; import java.util.Set; @Entity @Table( name = "rooms" ) public final class Room { private int id; private String name; private String floor; private int xCord; private int yCord; private Set devices = new HashSet(); @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ROOM_ID", updatable=false, nullable=false) public int getId() { return id; } public void setId(int id) { this.id = id; } @Column( name = "roomName") public String getName() { return name; } public void setName(String name) { this.name = name; } public int getxCord() { return xCord; } public void setxCord(int xCord) { this.xCord = xCord; } public int getyCord() { return yCord; } public void setyCord(int yCord) { this.yCord = yCord; } public String getFloor() { return floor; } public void setFloor(String floor) { this.floor = floor; } @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = BuntiDevice.class) @JoinTable(name = "ROOM_BUNTIDEVICE", joinColumns = { @JoinColumn(name = "ROOM_ID") }, inverseJoinColumns = { @JoinColumn(name = "BUNTIDEVICE_ID") }) public Set getDevices() { return this.devices; } public void setDevices(Set devices) { this.devices = devices; } // @Transient // public boolean addDevice(BuntiDevice device) { // return getDevices().add(device); // } // // @Transient // public boolean removeDevice(BuntiDevice device) { // return getDevices().remove(device); // } // // @Transient // public BuntiDevice getDevice(int id) { // for (BuntiDevice device: getDevices()) { // if( device.getId() == id) { // return device; // } // } // return null; // } // // @Transient // public List getDeviceList() { // return Collections.unmodifiableList(getDevices()); // } }