Hibernate の学習中に問題が発生しました。UnitTest を作成し、DB にオブジェクトを追加しようとしました。すべての選択は適切に機能していますが、挿入は機能していません。
public class HibernateTutorial extends BaseTest {
@Autowired
SessionFactory sessionFactory;
@Test
@Transactional
public void hibernateTutorial() {
@SuppressWarnings("unchecked")
List<User> users = sessionFactory.getCurrentSession().createQuery("from User").list();
sessionFactory.getCurrentSession().saveOrUpdate(new User("HiberTest", "HiberPass", "Hiber@Mail.ru", "HiberSurname",
"HiberLastname", "HiberAddress", "123432"));
}
私もこのようなことを試します
public class HibernateTutorial extends BaseTest {
@Autowired
SessionFactory sessionFactory;
@Test
@Transactional
public void hibernateTutorial() {
@SuppressWarnings("unchecked")
List<User> users = sessionFactory.getCurrentSession().createQuery("from User").list();
sessionFactory.getCurrentSession().saveOrUpdate(
new User("HiberTest", "HiberPass", "Hiber@Mail.ru", "HiberSurname", "HiberLastname", "HiberAddress", "123432"));
sessionFactory.getCurrentSession().getTransaction().commit();
}
}
トランザクションが正常に開始されなかったという例外をスローしますが、ユーザーを追加します
ここに例外があります
org.springframework.transaction.TransactionSystemException: Hibernate トランザクションをロールバックできませんでした。ネストされた例外は org.hibernate.TransactionException です: org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:679) でトランザクションが正常に開始されませんでした) org.springframework.test.context.transaction.TransactionalTestExecutionListener$TransactionContext.endTransaction(TransactionalTestExecutionListener.java:512) で org.springframework.test.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:822) で。 context.transaction.