Hibernate 删除JSF中的datatable行

Hibernate 删除JSF中的datatable行,hibernate,jsf,jsf-2,Hibernate,Jsf,Jsf 2,我有一个JSF数据表,它有三列,这三列来自两个数据库表。我的问题是如何获取指定行并在DB中删除它 1) 。这三列只是DB中的属性(而不是PK)。如果我只使用getRowData(),我只能从页面中获取这3个属性,而无法获取数据库id,因此,不能只调用this.getHibernateTemplate.delete()删除它 2) 这两个db表具有一对多关系。您可以从这里获得详细信息: 你知道如何实施它吗?谢谢 当从DB加载数据时,您还将加载PK和要显示的其他数据。在您显示它并选中某些行后,您将

我有一个JSF数据表,它有三列,这三列来自两个数据库表。我的问题是如何获取指定行并在DB中删除它

1) 。这三列只是DB中的属性(而不是PK)。如果我只使用
getRowData()
,我只能从页面中获取这3个属性,而无法获取数据库id,因此,不能只调用
this.getHibernateTemplate.delete()
删除它

2) 这两个db表具有一对多关系。您可以从这里获得详细信息:


你知道如何实施它吗?谢谢

当从DB加载数据时,您还将加载PK和要显示的其他数据。在您显示它并选中某些行后,您将获得PK。(尽管我不知道如何在1表中显示具有1:N关系的两个表的数据。感谢您的帮助!我只需从两个DB表中加载我需要的3列作为列表,并在数据表中显示为activityAndWorkType[0]、activityAndWorkType[1]、activityAndWorkType[2]。因此,如果我需要选择一行并删除它,只需调用getRowData?此方法可以将PK与显示的三列结合起来吗?谢谢!您关于此主题的所有问题都有很多非常具体的细节,这使得您的问题实际上更难理解。您应该从实际的c中提取一些内容ode,因为这里不需要大部分信息。我假设您在某个集合上迭代一个
数据表
。我认为它是
列表
。因此,如果您的
活动类型
中有PK,那么您的getRowData将返回一个
活动类型
,并且您可以轻松地从数据库中访问和删除它是的。我不明白你为什么要把自己复杂化。只需使用
,其中
的row
是你用来迭代列表的元素,即
。然后在
Bean中删除(字符串[]行)
您将拥有获取想要/需要删除的元素所需的数据。使用Hibernate或其他ORM框架或其他机制与数据库交互的事实是另一回事。