Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hibernate.model;
- import javax.persistence.*;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- *
- * @author Arvid Kirkbakk
- * @author Mats Sollid Eide
- */
- @Entity
- @Table(name = "albums")
- @NamedQueries({
- @NamedQuery(name="Album.count", query="SELECT COUNT(a) FROM Album a"),
- @NamedQuery(name="Album.findAll", query="SELECT a FROM Album a")
- })
- public class Album implements Serializable {
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- @Column(name = "albumid", insertable = false, updatable = false)
- private int albumid;
- // Karl: Database stuff
- @Column(name = "title", nullable = false)
- private String title;
- @ManyToOne(fetch = FetchType.LAZY)
- @JoinColumn(name = "userid", nullable = false)
- private User user;
- @ManyToMany(fetch = FetchType.EAGER)
- @OrderBy("imageid DESC")
- private List<ImageData> images = new ArrayList<>();
- //todo: getters and setters
- public int getAlbumID(){
- return albumid;
- }
- /**
- * set new album title
- * @param newTitle new album title
- */
- public void setTitle(String newTitle){
- this.title = newTitle;
- }
- public String getTitle(){
- return title;
- }
- // Might not be necessary
- public User getUser(){
- return user;
- }
- public void addImage(ImageData image){
- images.add(image);
- }
- public void removeImage(ImageData image){
- for(ImageData img : images){
- if(img.equals(image)) {
- images.remove(images.indexOf(image));
- }
- }
- //images = images.stream().filter(img -> !(img.equals(image))).collect(Collectors.toList());
- }
- public void clear(){
- images.clear();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement