gpt4 book ai didi

java - mybatis+oracle,程序卡在插入上

转载 作者:行者123 更新时间:2023-12-02 10:34:31 24 4
gpt4 key购买 nike

我正在使用 Java 和 myBatis 编写程序。程序因以下插入而卡住,且没有错误消息。我检查了Oracle,没有插入任何数据。我不知道为什么会这样。通常,sql 或 myBatis 会出现某种错误。

id type     number(10)
id_card_no varchar2(50)
gene_info varchar2(2000)

如果需要更多信息,请询问。谢谢!

<insert id="addGenotype" parameterType="genotype" useGeneratedKeys="false" >
insert into person_genotype (ID,ID_CARD_NO,GENE_INFO)
<foreach collection="list" item="genotype" index="index" separator="UNION ALL">
(select
#{genotype.genotypeId},#{genotype.idCardNumber},#{genotype.geneInfo}
FROM DUAL)
</foreach>
</insert>

最佳答案

很可能有另一个数据库 session 插入了具有相同主键的行,但尚未提交。让 SQL*Plus 运行并进行一些未提交的更改是一种相当常见的情况。

在 Oracle 中,如果两个并发事务将与某个唯一键冲突的行插入到同一个表中,其中一个事务将阻塞,直到另一个事务提交或回滚。

克服这个问题的方法之一是使用序列自动生成行标识符。在这种情况下,每条新记录都会获得自己的全新唯一 ID。

关于java - mybatis+oracle,程序卡在插入上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53386791/

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