即时通讯尝试与JPA,JAX-RS和JAX-B构建谷歌应用程序引擎项目。我的POST和GET方法工作,但我的DELETE方法不会删除数据。应用程序引擎JPA数据存储删除实体
资源
@DELETE
@Path("card/{id}")
public void deleteCardById (@PathParam ("id") Long id) {
Service.removeCard(id);
}
服务
public static void removeCard(Long id) {
EntityManager em = EMFService.get().createEntityManager();
Card emp = findCard(id);
if (emp != null) {
em.remove(emp);
}
em.close();
}
public static Card findCard(Long id) {
EntityManager em = EMFService.get().createEntityManager();
Card card = em.find(Card.class, id);
em.close();
return card;
}
实体
@XmlRootElement
@Entity
public class Card {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;
String begriff;
String tabu1;
String tabu2;
String tabu3;
public Card(String begriff, String tabu1, String tabu2, String tabu3) {
super();
Begriff = begriff;
Tabu1 = tabu1;
Tabu2 = tabu2;
Tabu3 = tabu3;
}
public Card() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getBegriff() {
return Begriff;
}
public void setBegriff(String begriff) {
Begriff = begriff;
}
public String getTabu1() {
return Tabu1;
}
public void setTabu1(String tabu1) {
Tabu1 = tabu1;
}
public String getTabu2() {
return Tabu2;
}
public void setTabu2(String tabu2) {
Tabu2 = tabu2;
}
public String getTabu3() {
return Tabu3;
}
public void setTabu3(String tabu3) {
Tabu3 = tabu3;
}
@Override
public String toString() {
return "Card [Begriff=" + Begriff + ", Tabu1=" + Tabu1 + ", Tabu2="
+ Tabu2 + ", Tabu3=" + Tabu3 + "]";
}
当我调试它给正确的对象为删除功能的应用程序。但它只是不会删除数据...
如果有什么“不工作”(明确使用该插件的V1),然后做顺理成章的事情是看在日志中在发生什么事。又名调试 – DataNucleus 2012-07-10 13:41:01
他正在经历这个方法,没有任何问题,并且给remove方法提供了正确的对象,但是这个对象并没有被移除 – AdrianoCelentano 2012-07-10 13:52:47