Hibernate + Oracle, a strange violation of an empty restriction with a primitive type

I just add a new column to the entity and a strange thing happens.

Object earlier:

int publishedDayNb;


public int getPublishedDayNb() {
    return publishedDayNb;
}

public void setPublishedDayNb(int publishedDayNb) {
    this.publishedDayNb = publishedDayNb;
}

And now the object:

int publishedDayNb;
int publishedDayNbSinceLastPublication;


public int getPublishedDayNb() {
    return publishedDayNb;
}

public void setPublishedDayNb(int publishedDayNb) {
    this.publishedDayNb = publishedDayNb;
}

@Column(name="published_days_since_last_pub")
public int getPublishedDayNbSinceLastPublication() {
    return publishedDayNbSinceLastPublication;
}

public void setPublishedDayNbSinceLastPublication(int publishedDayNbSinceLastPublication) {
    this.publishedDayNbSinceLastPublication = publishedDayNbSinceLastPublication;
}

As you can see, I just added a column.

In the sql script to do this in the database was:

alter table mytable add published_days_since_last_pub number(10,0);
update mytable set published_days_since_last_pub=0;
alter table mytable modify published_days_since_last_pub number(10,0) not null;

I am doing batch processing of java, reading a file, inserting new entity records and updating existing ones.

It works fine on the local and in the dev server, but on the verification server, I got this error while processing a new object (paste)

BATCH 05/03/2011 06:41:11 WARN [JDBCExceptionReporter.java:77] - SQL Error: 1400, SQLState: 23000 BATCH 05/05/2011 06:41:11 ERROR [JDBCExceptionReporter.java:78] - ORA- 01400: cannot insert NULL in ("MYDB". "TUaE." "PUBLISHED_DAYS_SINCE_LAST_PUB")

BATCH 03/05/2011 06:41:11 [AbstractFlushingEventListener.java:301] - org.hibernate.exception.ConstraintViolationException: : [Com.xxx.myentity]    org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)    org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)    org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2262)    org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2655)    org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:60)    org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)    org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)    org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)    org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)    org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)    org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1001)    org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:339)    org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)    org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:655)    org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732)    org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701)    org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)    org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)    org.springframework.aop.framework.Cglib2AopProxy $DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)    com.xxx.eplatform.websites.webstore.batch.processor.DistrinetDataProcessor $$ EnhancerByCGLIB $$ 42d43018.processDistrinetLine() at com.xxx.eplatform.websites.webstore.batch.services.impl.WebstoreImporterServiceImpl.importDistrinetFile(WebstoreImporterServiceImpl.java:71)    com.xxx.eplatform.websites.webstore.batch.WebstoreImportBatch.execute(WebstoreImportBatch.java:142)    com.xxx.eplatform.websites.webstore.batch.WebstoreImportBatch.main(WebstoreImportBatch.java:104) : java.sql.SQLException: ORA-01400: NULL ( "MYDB". "". "PUBLISHED_DAYS_SINCE_LAST_PUB" )

oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)    oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)    oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)    oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)    oracle.jdbc.driver.T4CPreparedStatement.doOall8 (T4CPreparedStatement.java:216)    oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:966)    oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1170)    oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)    oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3423)    org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)    org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2242)   ... 21

, , i, , 0, .

javap , , : .

-?

+3
1

int Integer ,

-1

All Articles