如何删除已连接表格中的行?

时间:2017-09-14 08:40:54

标签: mysql spring hibernate spring-boot

我有一张名为LocalEventSessions的表格。它有两列,localevent_idsession_id

在我LocalEventSessionRepository我有这段代码:

List<LocalEventSession> findAllByLocalEventSessionId_localEventId(Integer id);

这将返回属于LocalEvent的所有会话的列表。这用于显示会话。

我想删除与localevent的会话关系。所以我写了这个:

Integer deleteByLocalEventIdAndSessionId(@Param("localevent_id") Integer lid, @Param("session_id") Integer sid);

我希望这会根据LocalEventSessionlocalevent_id删除session_id表中的记录。我可以编译代码没有问题但是当我使用Wildfly部署它时,我收到了几个错误。在堆栈跟踪结束时,它显示Wildfly无法找到localEventId属性。

Caused by: java.lang.IllegalArgumentException: Unable to locate Attribute  with the the given name [localEventId] on this ManagedType [net.atos.eventsite.jar.LocalEventSession]"},
"WFLYCTL0412: Required services that are not installed:" => ["jboss.undertow.deployment.default-server.default-host./beheerback"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => undefined

如果我在没有deleteBy方法声明的情况下部署代码,它会毫无问题地编译和部署。

1 个答案:

答案 0 :(得分:0)

根据JB Nizet的建议,我创建了一个包含所有localeventid和sessionid对象的arraylist。然后使用for循环,我可以像这样搜索正确的对象:

for (LocalEventSession j : deleteItem) {
    if (j.getSessionId() == sessionId) { 
        localEventSessionRepository.delete(j);          
    }
}

然后使用Spring中的delete()方法从表中删除记录。