即時通訊嘗試與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