Java 如何通过hibernate排除会导致SQLException的脏数据
请查找以下映射xmlJava 如何通过hibernate排除会导致SQLException的脏数据,java,mysql,sql,hibernate,Java,Mysql,Sql,Hibernate,请查找以下映射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中有一个脏行,这将导致
<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中有一个脏行,这将导致SQLException,整个批次将无法获取
我只有select权限,无法从DB中删除脏数据,hibernate有没有办法通过hibernate自动排除脏数据
是的,如果按id逐个查询,我可以从我的应用程序中进行查询,但效率低下且不可用
有人能帮忙吗?
脏数据的时间戳值为“0000:00:00”
谢谢。添加一个选项convertToNull
到您的hibernate.cfg.xml:
或者在hibernate.properties
中:
hibernate.connection.zeroDateTimeBehavior=convertToNull
我通过在jdbcUrl上添加?zeroDateTimeBehavior=convertToNull
修复了它
您可以在下面找到我的jdbcUrl
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/testdb?zeroDateTimeBehavior=convertToNull" />
为什么不添加另一个条件:其中id在(:id)和startTime!='0000:00:00'
?@JorgeCampos是的,它可以工作,但看起来不太好。如果还有更好的方法,我就用它。谢谢,伙计。把它添加到我的配置中,不知道为什么它不工作。
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/testdb?zeroDateTimeBehavior=convertToNull" />