Jakarta ee Java EE findAll()在写入数据库后将重复的最终条目返回列表
我有一个在GlassFish上运行的小应用程序。其中一部分涉及将有关马的一些详细信息写入Derby数据库。我使用自动生成的会话facade和entity类来写入数据库。这是正确的,我可以看到数据是使用NetBeansSQL编辑器正确写入的。如果我使用Jakarta ee Java EE findAll()在写入数据库后将重复的最终条目返回列表,jakarta-ee,derby,glassfish-4,Jakarta Ee,Derby,Glassfish 4,我有一个在GlassFish上运行的小应用程序。其中一部分涉及将有关马的一些详细信息写入Derby数据库。我使用自动生成的会话facade和entity类来写入数据库。这是正确的,我可以看到数据是使用NetBeansSQL编辑器正确写入的。如果我使用List allHorses=aHorseFacade.findAll()要用表中的所有条目填充列表,最新条目重复两次,前一个最终条目消失。如果我随后重新部署应用程序,它将按预期工作,并且findAll()。非常感谢您的建议。将persistence
List allHorses=aHorseFacade.findAll()
要用表中的所有条目填充列表,最新条目重复两次,前一个最终条目消失。如果我随后重新部署应用程序,它将按预期工作,并且findAll()。非常感谢您的建议。将persistence.xml
中共享缓存模式的值从Unspecified
更改为None
可以解决我遇到的问题。检查您的derby.log(必要时启用derby.language.logStatementText
)若要查看程序向数据库发出的实际SQL语句,请查看您是否能够更准确地理解所看到的行为。谢谢您的建议。一旦我(最终)启用了derby.language.logStatementText
并检查了日志,应用程序似乎发出了正确的SQL语句。我不知所措。数据库已正确写入,但在执行APP.HORSES中的选择IDNUMBER、NAME、USERNAME之后,它不会返回我通过HORSES表中的NetBeans可以看到的内容。无论如何,谢谢你,我很感谢你的帮助:)嘿,我找到了答案:)读了一会儿之后,我意识到在persistence.xml
中,共享缓存模式被设置为“未指定”。将其设置为“无”解决了该问题。我花了六个小时才弄明白。。。如果我不这么高兴,我会哭的。再次感谢你的帮助,彭德尔顿先生。当你四处走动时,我今天在网上的很多地方都找到了你的名字:)很高兴听到我鼓励你不断地戳它。有时候你必须坚持(请原谅双entendre)陈旧的缓存错误是一种典型的令人沮丧的神秘行为,因此我很高兴你记录了答案,供其他人将来学习。