从EJB数据库中进行逻辑删除

时间:2011-01-17 12:12:21

标签: postgresql seam ejb

我有一个数据库,并且此数据库中的表是互连的。 我使用seam和EJB来处理数据库中这些表中的数据。 我的后端数据库是postgres。

现在我想要做的是我想从一个表中删除数据,但我收到一个postgres sql错误,告诉我我违反了规则。 我知道我可以逻辑删除这个数据库
- 我必须删除数据库并设置标志的情况。

但我不知道该怎么做。我知道这很简单,但原谅我。我不知道。任何帮助都将是值得赞赏的。下面是我正在使用的代码。谢谢你的帮助。

public void delete() throws java.sql.SQLException {
  System.out.println("I got here FIRST");   
  user =em.find(Subscriber.class, subscriber.getId()); //ADDED LATER
  users.remove(subscriber.getId());
  em.remove(subscriber);
  userList(); 
 }

1 个答案:

答案 0 :(得分:1)

从我第一眼看到的情况来看,您是否想要删除您要查询的用户?

因此,将em.remove(subscriber);更改为em.remove(user); //从find方法加载

<强>更新

如果您不知道要检查哪种flag,请告诉我您如何执行此操作:

让我们假设User有一个名为disabled的布尔字段,并且您只想删除已禁用的用户。

if(user.isDisabled()) 
   em.remove(user);

因此,只有在flag为真时才会删除用户。