/** * Sencha GXT 3.0.0b - Sencha for GWT * Copyright(c) 2007-2012, Sencha, Inc. * licensing@sencha.com * * http://www.sencha.com/products/gxt/license/ */ package com.sencha.gxt.examples.resources.server.data; import javax.persistence.Entity; import javax.persistence.EntityManager; import javax.persistence.EntityTransaction; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Version; import javax.validation.constraints.Size; import com.sencha.gxt.examples.resources.server.EntityManagerUtil; @Entity public class Music { public static final EntityManager entityManager() { return EntityManagerUtil.getEntityManager(); } public static Music findMusic(Integer id) { if (id == null) { return null; } EntityManager em = entityManager(); return em.find(Music.class, id); } @Id @GeneratedValue(strategy = GenerationType.TABLE) private Integer id; @Version private Integer version; @Size(min = 1) private String name; @Size(min = 1) private String author; private String genre; public String getAuthor() { return author; } public String getGenre() { return genre; } public Integer getId() { return id; } public String getName() { return name; } public Integer getVersion() { return version; } public Music persist() { EntityManager em = entityManager(); EntityTransaction tx = em.getTransaction(); if (tx.isActive()) { return em.merge(this); } else { tx.begin(); Music saved = em.merge(this); tx.commit(); return saved; } } public void remove() { EntityManager em = entityManager(); em.remove(this); } public void setAuthor(String author) { this.author = author; } public void setGenre(String genre) { this.genre = genre; } public void setId(Integer id) { this.id = id; } public void setName(String name) { this.name = name; } }