0

I have been trying to setup Wicket with Hibernate and MySQL for a good few hours at this point. I am using Maven as for dependency management. Admittedly I am a bit new to Jave 2EE and if there is anything else I can provide let me know and I will get it.

My HibernateUtil (this is one of many attempts but make the most sense to me)

public class HibernateUtil{
    private static SessionFactory sessionFactory = initSessionFactory();
    private static Properties getHibernateProperties(){
        return new Properties(){
        {
            setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
            setProperty("hibernate.connection.driver_class","com.mysql.jdbc.Driver");
            setProperty("hibernate.connection.url","jdbc:mysql://192.168.33.15/eventApp");
            setProperty("hibernate.connection.username","root");
            setProperty("hibernate.connection.password","test101");
        }
    };
}

private static SessionFactory initSessionFactory(){
    Configuration cfg = new Configuration();
    cfg.setProperties(getHibernateProperties());
    return cfg.buildSessionFactory();
}
public static SessionFactory getSessionFactory(){
    return sessionFactory;
}

}

I can look in the JARs and see the Configuration.java yet when I save a form that calls to HomePage.java

public class HomePage extends BaseTemplate {
    Event event= new Event();
    // TODO Add any page properties or variables here

/**
 * Constructor that is invoked when page is invoked without a session.
 * 
 * @param parameters
 *            Page parameters
 */
public HomePage(final PageParameters parameters) {

    Form createEventForm = new Form("createEventForm"){
        @Override
        protected void onSubmit() {
            super.onSubmit();
            System.out.println("### Event name: " + event.getEventName());

            SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
            Session session = sessionFactory.openSession();
            session.getTransaction().begin();
            session.persist( event ); // cascades the tool & skill relationships
            session.getTransaction().commit();
        }
    };

    TextField eventName = new TextField("eventName",new PropertyModel(event, "eventName"));

    createEventForm.add(eventName);
    add(createEventForm);

}

}

The call to HibernateUtil fails with the below

java.lang.ClassNotFoundException: javax.transaction.SystemException
 at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
 at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Unknown Source)
 at org.jboss.logging.Logger$1.run(Logger.java:2554)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.jboss.logging.Logger.getMessageLogger(Logger.java:2529)
 at org.jboss.logging.Logger.getMessageLogger(Logger.java:2516)
 at org.hibernate.internal.CoreLogging.messageLogger(CoreLogging.java:28)
 at org.hibernate.internal.CoreLogging.messageLogger(CoreLogging.java:24)
 at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:86)
 at com.dappercloud.wicket.wicket.util.HibernateUtil.initSessionFactory(HibernateUtil.java:29)
 at com.dappercloud.wicket.wicket.util.HibernateUtil.<clinit>(HibernateUtil.java:15)
 at com.dappercloud.wicket.wicket.home.HomePage$1.onSubmit(HomePage.java:40)
 at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1328)
 at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:776)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:183)
 at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
 at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
 at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1166)
 at org.apache.wicket.RequestCycle.step(RequestCycle.java:1243)
 at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330)
 at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
 at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:358)
 at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
 at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)
 at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)
 at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 at java.lang.Thread.run(Unknown Source)

My pom file as requested

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>com.dappercloud.wicket</groupId>
<artifactId>wicket</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<!-- TODO project name  -->
<name>quickstart</name>
<description></description>

<!-- TODO
    <organization>
    <name>company name</name>
    <url>company url</url>
    </organization>
-->

<licenses>
    <license>
        <name>The Apache Software License, Version 2.0</name>
        <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        <distribution>repo</distribution>
    </license>
</licenses>

<dependencies>
    <!--  WICKET DEPENDENCIES -->

    <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket</artifactId>
        <version>${wicket.version}</version>
    </dependency>
    <!-- OPTIONAL 
        <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket-extensions</artifactId>
        <version>${wicket.version}</version>
        </dependency>
    -->

    <!-- LOGGING DEPENDENCIES - LOG4J -->

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.4.2</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.14</version>
    </dependency>

    <!--  JUNIT DEPENDENCY FOR TESTING -->
     <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <version>3.8.2</version>
             <scope>test</scope>
     </dependency>

    <!--  JETTY DEPENDENCIES FOR TESTING  -->

    <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty</artifactId>
        <version>${jetty.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-util</artifactId>
        <version>${jetty.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-management</artifactId>
        <version>${jetty.version}</version>
        <scope>provided</scope>
    </dependency>

    <!-- MYSQL JDBC -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.38</version>
    </dependency>

    <!-- JPA Hibernate -->
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
       <version>5.0.6.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.0.6.Final</version>
    </dependency>

</dependencies>

<build>
    <resources>
        <resource>
            <filtering>false</filtering>
            <directory>src/main/resources</directory>
        </resource>
        <resource>
            <filtering>false</filtering>
            <directory>src/main/java</directory>
            <includes>
                <include>**</include>
            </includes>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
    </resources>
    <testResources>
        <testResource>
            <filtering>false</filtering>
            <directory>src/test/java</directory>
            <includes>
                <include>**</include>
            </includes>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </testResource>
    </testResources>
    <plugins>
        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
        </plugin>
    </plugins>
</build>

<properties>
    <wicket.version>1.3.2</wicket.version>
    <jetty.version>6.1.4</jetty.version>
</properties>

1
  • Please show your pom.xml file Commented Dec 24, 2015 at 5:04

1 Answer 1

1
<dependency>
    <groupId>javax.transaction</groupId>
    <artifactId>jta</artifactId>
    <version>1.0.1B</version>
</dependency>

needs to be added, also make sure that jar is in your class path.
Sign up to request clarification or add additional context in comments.

2 Comments

Is there a specific reason you chose 1.0.1B I was getting an error with that and looked into it. I found [link]stackoverflow.com/questions/19086523/… which suggested using 1.1. I did and all appears to be working
glad to hear that problem got resolved. specific version is not required. using the latest version is fine.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.