我有一张名为LocalEventSessions
的表格。它有两列,localevent_id
和session_id
。
在我LocalEventSessionRepository
我有这段代码:
List<LocalEventSession> findAllByLocalEventSessionId_localEventId(Integer id);
这将返回属于LocalEvent的所有会话的列表。这用于显示会话。
我想删除与localevent的会话关系。所以我写了这个:
Integer deleteByLocalEventIdAndSessionId(@Param("localevent_id") Integer lid, @Param("session_id") Integer sid);
我希望这会根据LocalEventSession
和localevent_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
方法声明的情况下部署代码,它会毫无问题地编译和部署。
答案 0 :(得分:0)
根据JB Nizet的建议,我创建了一个包含所有localeventid和sessionid对象的arraylist。然后使用for循环,我可以像这样搜索正确的对象:
for (LocalEventSession j : deleteItem) {
if (j.getSessionId() == sessionId) {
localEventSessionRepository.delete(j);
}
}
然后使用Spring中的delete()方法从表中删除记录。