我有一个简单的基于spring / hibernate / jpa的应用程序。我试图迭代xml文件中的记录列表并将其保存到数据库表中。
我有35条记录,其中3条记录对表中必填的某些字段具有空值。
我收到此错误: org.hibernate.AssertionFailure:com.pilogics.gogabbar.domain.model.entity.UserActivity条目中的null id(发生异常后不要刷新会话)..
由于我无法控制通过文件传输的数据,因此我想简单地跳过这3条记录并继续。但是由于entityManager对象无效,是否必须重新初始化它?
另外,我在spring fopr实体经理工厂中有这个配置:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation" value="classpath:jpa/persistence.xml" />
<property name="persistenceUnitName" value="gg-rw" />
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.pilogics.gogabbar.infra.persistence.hibernate.pojo.*" />
<property name="jpaDialect">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />
</property>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="false" />
<property name="generateDdl" value="false" />
<property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect" />
</bean>
</property>
</bean>
Spring将实体管理器注入dao类:
@PersistenceContext(unitName="gg-rw")
protected EntityManager entityManagerRw;
如何在catch块中重新初始化entityManager对象以继续使用其余记录?