Я использую JPA для сохранения POJO в таблице MSSQL.Я получил исключение.Это происходит EntityManager.persist(pojo);
в следующей функции:
private static void runTransaction(String name) {
// Create the EntityManager
EntityManagerFactory factory = Persistence.createEntityManagerFactory("aeosclientPU");
EntityManager em = factory.createEntityManager();
em.getTransaction().begin();
Tst tst = new Tst();
tst.setName(name);
tst.setId(1); //I commented out this line, but get the same exception with id=null
em.persist(tst); //here Exception
em.flush();
em.getTransaction().commit();
em.close();
factory.close();
System.out.println("FERTIG");
}
Exception in thread "main" javax.persistence.PersistenceException: Exception
[EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd):
org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.DataTruncation: Data truncation
Error Code: 0
Call: INSERT INTO tst (name) VALUES (?)
bind => [1 parameter bound]
Query: InsertObjectQuery(aeospojo.Tst[ id=1 ])
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.flush(EntityManagerImpl.java:868)
at Test.TestTst.runTransaction(TestTst.java:38)
at Test.TestTst.run(TestTst.java:26)
at aeosclient.Aeosmain.main(Aeosmain.java:10)
...
Tst
- это POJO, класс сущностей из таблицы MSSQL "tst", который я создал ранее.Таблица tst выглядит следующим образом:
Что означает исключение выше и как его исправить?