gpt4 book ai didi

java - 插入后检索时为空对象

转载 作者:行者123 更新时间:2023-12-02 05:04:24 25 4
gpt4 key购买 nike

使用 JUnit,我尝试测试一些业务逻辑。我的日志中有以下语句:

[EL Fine]: sql: 2015-01-13 19:55:39.369--ClientSession(623375944)--Connection(1559247181)--Thread(Thread[main,5,main])--INSERT INTO SCHEMA.TABLE_NAME (ID_SEQ, ...) VALUES (?, ...) bind => [363, ...]

在同一个测试中,我尝试获取相同的记录,但出现 NullPointerException,以下语句作为最后一个语句:

[EL Fine]: sql: 2015-01-13 19:55:52.976--ServerSession(512108848)--Connection(1285635179)--Thread(Thread[main,5,main])--SELECT ID_SEQ, ... FROM SCHEMA.TABLE_NAME WHERE (ID_SEQ = ?) bind => [363]

此外,当尝试通过父对象检索时,我确实获得了正确的实例,但无法使用 Id_Seq 检索相同的实例。我无法弄清楚这里出了什么问题;任何帮助将不胜感激。谢谢

最佳答案

找出问题的根本原因,分享以防万一这可以帮助某人:

我的方法用 @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) 进行注释,它实际上正在启动一个新事务(另一个事务正在并行进行),因此导致空引用。将其更改为 @Transactional(propagation = Propagation.REQUIRED, readOnly = false) 解决了该问题。

谢谢!

关于java - 插入后检索时为空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27925212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com