@P_Alexander
First head

Почему при использовании аннотации @Transactional не пишется в базу?

Здравствуйте, понимаю что при таком вопросе можно сразу отослать читать туториалы, но я читаю изучаю , но ответа пока не нашел, буду рад любой помощи.
Обычный тeст, при использовании аннотации в базу не пишется, без аннотации пишется почему(конкретно в моем примере)?
@Test
    @Transactional
    public void writingStartValuesOnDBTest() {
        logger.error("HELLO");
        Role role = new Role();
        role.setNameRole("admin");

        User user = new User("Alex0", "Login",
                "furriets@gmail.com", "111111111", LocalDate.now(), role);
        role.getUsers().add(user);
        roleService.saveRole(role);
    }

StackTrace
2018-06-08 18:57:15,857 main ERROR Loggers cannot be configured without a name: arg[2](String)
2018-06-08 18:57:15,864 main ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.config.LoggerConfig for element Logger. org.apache.logging.log4j.core.config.ConfigurationException: Arguments given for element Logger are invalid
	at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.generateParameters(PluginBuilder.java:270)
	at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:131)
	at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:952)
	at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:892)
	at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:884)
	at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:508)
	at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:232)
	at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:244)
	at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:545)
	at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:617)
	at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:634)
	at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:229)
	at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152)
	at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
	at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
	at org.apache.commons.logging.LogFactory$Log4jLog.<clinit>(LogFactory.java:199)
	at org.apache.commons.logging.LogFactory$Log4jDelegate.createLog(LogFactory.java:166)
	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:109)
	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:99)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<clinit>(SpringJUnit4ClassRunner.java:99)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
	at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
	at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
	at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:49)
	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

2018-06-08 18:57:15,880 main ERROR Null object returned for Logger in Loggers.
Hibernate: select nextval ('pc_seq_role')
Hibernate: select nextval ('pc_seq_user')
  • Вопрос задан
  • 223 просмотра
Решения вопроса 1
al_gon
@al_gon
Если то что Вы показали и всё, то Вам не хватает entityManager.flush();

Ну а так про тесты и трансакции Spring JPA здесь очень хорошо разжевано.

P.S.: StackTrace чот из другой оперы помойму.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы