gpt4 book ai didi

java - 在 hibernate 中设置 flushmode 的正确方法是什么

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:50:03 27 4
gpt4 key购买 nike

帮助设置 hibernate 的刷新属性。

我遇到了错误。

在只读模式 (FlushMode.MANUAL) 下不允许写入操作:将您的 Session 转换为 FlushMode.COMMIT/AUTO 或从事务定义中删除“readOnly”标记。

我只是对如何设置 flush 属性感到困惑。

<property name="org.hibernate.FlushMode" value="COMMIT"/> 

<property name="org.hibernate.flushMode" value="COMMIT"/>

<property name="org.hibernate.flushMode" value="commit"/>

<property name="hibernate.flushMode" value="COMMIT"/>

在不使用任何 java 代码的情况下设置属性的正确方法是什么?

我试过这种方式,但仍然显示相同的错误。

<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?createDatabaseIfNotExist=true</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<property name="org.hibernate.flushMode" >commit</property>
<mapping class="com.example.User" />
</session-factory>
</hibernate-configuration>

最佳答案

正确的是<property name="org.hibernate.flushMode" value="COMMIT"/> .

但是您的问题是 flushMode 的值不正确。此消息来自您的异常。它不直接连接到 flushMode。您执行了一些可能会引发此异常的操作。例如:您可能会尝试使用只读事务执行一些更新查询。检查抛出此异常的 dao/service 方法以获得正确的事务配置,以及您尝试在其中执行的操作。

关于java - 在 hibernate 中设置 flushmode 的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45057776/

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