Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:970)
- at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:895)
- at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58)
- at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
- at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
- at pl.edu.polsource.HibernateTest.init(HibernateTest.java:26)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:498)
- at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
- at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
- at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
- at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
- at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
- at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
- at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
- at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
- 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)
- Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing sequence [hibernate_sequence]
- at org.hibernate.tool.schema.internal.AbstractSchemaValidator.validateSequence(AbstractSchemaValidator.java:184)
- at org.hibernate.tool.schema.internal.AbstractSchemaValidator.performValidation(AbstractSchemaValidator.java:100)
- at org.hibernate.tool.schema.internal.AbstractSchemaValidator.doValidation(AbstractSchemaValidator.java:68)
- at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:191)
- at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72)
- at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:312)
- at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:460)
- at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:892)
- ... 19 more
- emf = Persistence.createEntityManagerFactory("persistenceUnit");
- public class HibernateTest {
- protected static EntityManagerFactory emf;
- protected static EntityManager em;
- @BeforeClass
- public static void init() throws FileNotFoundException, SQLException {
- emf = Persistence.createEntityManagerFactory("persistenceUnit");
- em = emf.createEntityManager();
- }
- @AfterClass
- public static void tearDown() {
- em.clear();
- em.close();
- emf.close();
- }
- @Before
- public void initializeDatabase() {
- Session session = em.unwrap(Session.class);
- session.doWork(new Work() {
- @Override
- public void execute(Connection connection) throws SQLException {
- try {
- File script = new File(getClass().getResource("/data.sql").getFile());
- RunScript.execute(connection, new FileReader(script));
- } catch (FileNotFoundException e) {
- throw new RuntimeException("could not initialize with script");
- }
- }
- });
- }
- }
- public class HibernateCRUDTest extends HibernateTest {
- @Test
- public void testGetObjectById_success() {
- Notes note = em.find(Notes.class, 1);
- assertNotNull(note);
- }
- @Test
- public void testGetAll_success() {
- List<Notes> note = em.createNamedQuery("Notes.getAll", Notes.class).getResultList();
- assertEquals(4, note.size());
- }
- @Test
- public void testPersist_success() {
- em.getTransaction().begin();
- em.persist(new Notes("TestTitle", "Unit Test Hibernate/JPA with in memory H2 Database"));
- em.getTransaction().commit();
- List<Notes> note = em.createNamedQuery("Notes.getAll", Notes.class).getResultList();
- assertNotNull(note);
- assertEquals(5, note.size());
- }
- @Test
- public void testDelete_success(){
- Notes note = em.find(Notes.class, 1);
- em.getTransaction().begin();
- em.remove(note);
- em.getTransaction().commit();
- List<Notes> notes = em.createNamedQuery("Notes.getAll", Notes.class).getResultList();
- assertEquals(0, notes.size());
- }
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
- http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
- <persistence-unit name="persistenceUnit" transaction-type="RESOURCE_LOCAL">
- <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
- <!-- add classes -->
- <class>model.Notes</class>
- <properties>
- <!-- Configuring JDBC properties -->
- <!--<property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:test;INIT=RUNSCRIPT FROM 'classpath:create.sql';RUNSCRIPT FROM 'classpath:data.sql'"/>-->
- <property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:/test;INIT=RUNSCRIPT FROM 'classpath:create.sql';RUNSCRIPT FROM 'classpath:data.sql'"/>
- <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
- <!-- Hibernate properties -->
- <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
- <property name="hibernate.hbm2ddl.auto" value="validate"/>
- <property name="hibernate.format_sql" value="false"/>
- <property name="hibernate.show_sql" value="true"/>
- </properties>
- </persistence-unit>
- </persistence>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement