Я не могу понять причину сбоя в UDR: здесь, когда я компилирую код в Windows с помощью Eclipse, программа может вставить запись в базу данных informix, находящуюся в UNIX, в то время как тот же код завершается с ошибкой и выдает ниже Exception atвремя выполнения при регистрации в качестве UDR в той же базе данных informix (11.50) в Unix (SunOS 5.10)./ * Сюрприз в том, что слияние работает нормально в обоих случаях, но постоянное сбой * /
Обнаружено исключение:
javax.persistence.RollbackException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.1.2.v20101206-r8635): org.eclipse.persistence.exceptions.DatabaseException Внутреннее исключение: java.sql.SQLException: системная или внутренняя ошибка java.lang.NullPointerException Код ошибки: -79716 Вызов: INSERT INTO ....
Мой код:
public abstract class FXOPSDBAccess {
protected EntityManagerFactory emf;
protected EntityManager getEntityManager(){
if(emf == null){
emf = Persistence.createEntityManagerFactory("DALPOCService");
}
EntityManager em = emf.createEntityManager();
Session session = ((JpaEntityManager) em.getDelegate()).getSession();
return em;
}
public class CdaFeedDaoImpl extends FXOPSDBAccess implements CdaFeedDao {
public void setListByWssctrlNo(CdaFeed cdafeedObj) {
EntityManager em = getEntityManager();
try{
EntityTransaction transct = em.getTransaction();
transct.begin();
em.persist(cdafeedObj);
cdafeedObj.setTextField1("This is testing");
transct.commit();
}catch(Exception er){
System.out.println("Exception in setListByWssctrlNo : "+er);
er.printStackTrace();
}finally{
em.close();
}
}
}
public static String checktlinkupdate(Integer tradeno) {
String wssControlNo="This is Test";
List<CdaFeed> cdaFeedresult = new ArrayList<CdaFeed>();
try{
CdaFeedDao cdaFeedDao = (CdaFeedDao) FXOPSDaoFactory.getDAOImpl("CdaFeedDaoImpl");
cdaFeedresult = cdaFeedDao.getListByTradeNo(tradeno.intValue());
wssControlNo = cdaFeedresult.get(0).getWssControlno();
if(cdaFeedresult != null){
cdaFeedDao.setListByWssctrlNo(cdaFeedresult.get(0));
}else{
System.out.println("CdaFeed Object is NULL");
}
} catch ( Exception ex){
ex.printStackTrace();
}
return wssControlNo;
}
}
}
Мое имя UDR: checktlinkupdate
System.getProperty ("java.version")