请找到以下映射xml,
<class name="com.fabulous.A" table="f_a">
<id name="id" column="id">
<generator class="assigned" />
</id>
<property name="startTime" column="start_time" />
</class>
我按批次查询表f_a,如下所示,批量大小为100:
"FROM A WHERE id IN (:ids)"
然而表f_a中有一个脏行会导致SQLException ,整个批处理将无法获取。
我只有select权限,无法从DB中删除脏数据,是否有任何方法可以通过hibernate自动排除脏数据?
是的,如果按ID逐个查询,我可以从我的应用程序中进行查询,但效率低且无法使用。
有人可以帮忙吗? 脏数据的时间戳值为&#34; 0000:00:00&#34;。
感谢。
答案 0 :(得分:0)
添加选项<property name="hibernate.connection.zeroDateTimeBehavior">convertToNull</property
&gt;
到hibernate.cfg.xml:
或hibernate.properties
:
hibernate.connection.zeroDateTimeBehavior=convertToNull
答案 1 :(得分:0)
我通过在jdbcUrl上添加?zeroDateTimeBehavior=convertToNull
来修复它。
您可以在下面找到我的jdbcUrl
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/testdb?zeroDateTimeBehavior=convertToNull" />