Issue: retrieving data with JBOSS

I am trying to get the following configured.
Spring, Hibernate, Jboss 5.1, Mysql 5.14
dispatcher-servlet.xml

<context:annotation-config />
<context:component-scan base-package="au.com.kiche" />
<tx:annotation-driven transaction-manager="transactionManager" />

<bean
    class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
<bean
    class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean
    class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

<!-- Most controllers will use the ControllerClassNameHandlerMapping above, 
    but for the index controller we are using ParameterizableViewController, 
    so we must define an explicit mapping for it. -->

<bean id="jspViewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"
    p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />

<!-- the following bean description should be moved to applicationContext. I'm leaving this  decision to Chief. -->
<jee:jndi-lookup id="dataSource" jndi-name="java:/MyDS"/>

<bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="configLocation">
        <value>classpath:hibernate.cfg.xml</value>
    </property>
    <property name="configurationClass">
        <value>org.hibernate.cfg.AnnotationConfiguration</value>
    </property>
</bean>
<bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

hibernate.cfg.xml is:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
                                     "http://hibernate.sourceforge.net/hibernate-configuration-  3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <property name="hibernate.connection.datasource">java:/MyDS</property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
    <property name="hibernate.show_sql">true</property>

    <mapping class="au.com.kiche.model.User"/>
  </session-factory>
</hibernate-configuration>

The data source file “kiche-ds.xml” is:

<datasources>
<local-tx-datasource>
    <jndi-name>MyDS</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/kiche</connection-url>

    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <password>root5</password>

    <min-pool-size>5</min-pool-size>
    <max-pool-size>100</max-pool-size>

    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>

    <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml -->
    <metadata>
        <type-mapping>mySQL</type-mapping>
    </metadata>
</local-tx-datasource>
</datasources>

The followis is my class that is try to get all users from the DB:

@Repository
public class UserDAOImpl implements UserDAO{

    @Autowired
    SessionFactory sessionFactory;

    @Override
    public List<User> getUserByLogin() {
            Criteria criteria=sessionFactory.getCurrentSession().createCriteria(User.class);
        List<User> users=criteria.list();
        System.out.println("**** The size of the user is: "+users.size());
            return users;
    }
   .
   .
   .
}

The strange part is that I am able to get the data form the DB when I use Tomcat(not the one with JBOSS). But when I try to run this application in JBOSS(jb248 pdf), NO data is retrived, there are no errors or exceptions.

Any help will be highly appraciated.

Thanks!

Try to activate the following log appenders:

log4j.logger.org.hibernate.SQL=debug

log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=trace
log4j.logger.org.hibernate.type.descriptor.sql.BasicExtractor=trace

Then, in the log you can see what data is fetched:

17:08:41,511 DEBUG SQL:92 - 
    select
        stays0_.person as person8_4_0_,
        stays0_.id as id1_4_0_,
        stays0_.id as id1_4_1_,
        stays0_.authoriser as authoris2_4_1_,
        stays0_.comments as comments3_4_1_,
        stays0_.endDate as endDate4_4_1_,
        stays0_.oldperson as oldperso7_4_1_,
        stays0_.person as person8_4_1_,
        stays0_.startDate as startDat5_4_1_,
        stays0_.veryoldperson as veryoldp9_4_1_,
        stays0_.vessel as vessel6_4_1_,
        person1_.id as id1_2_2_,
        person1_.companyName as companyN2_2_2_,
        person1_.firstName as firstNam3_2_2_,
        person1_.lastName as lastName4_2_2_ 
    from
        Stay stays0_ 
    left outer join
        Person person1_ 
            on stays0_.veryoldperson=person1_.id 
    where
        stays0_.person=?
17:08:41,511 TRACE BasicBinder:65 - binding parameter [1] as [INTEGER] - [1]
17:08:41,514 TRACE BasicExtractor:61 - extracted value ([id1_4_1_] : [INTEGER]) - [2]
17:08:41,514 TRACE BasicExtractor:51 - extracted value ([id1_2_2_] : [INTEGER]) - [null]
17:08:41,515 TRACE BasicExtractor:61 - extracted value ([authoris2_4_1_] : [VARCHAR]) - [Blah]
17:08:41,515 TRACE BasicExtractor:61 - extracted value ([comments3_4_1_] : [VARCHAR]) - [Blah]
17:08:41,516 TRACE BasicExtractor:61 - extracted value ([endDate4_4_1_] : [TIMESTAMP]) - [2018-03-21 17:08:41.183]
17:08:41,517 TRACE BasicExtractor:51 - extracted value ([oldperso7_4_1_] : [INTEGER]) - [null]
17:08:41,517 TRACE BasicExtractor:61 - extracted value ([person8_4_1_] : [INTEGER]) - [1]
17:08:41,517 TRACE BasicExtractor:61 - extracted value ([startDat5_4_1_] : [TIMESTAMP]) - [2018-03-21 17:08:41.183]
17:08:41,518 TRACE BasicExtractor:51 - extracted value ([veryoldp9_4_1_] : [INTEGER]) - [null]
17:08:41,518 TRACE BasicExtractor:61 - extracted value ([vessel6_4_1_] : [VARCHAR]) - [A380]
17:08:41,519 TRACE BasicExtractor:61 - extracted value ([person8_4_0_] : [INTEGER]) - [1]
17:08:41,519 TRACE BasicExtractor:61 - extracted value ([id1_4_0_] : [INTEGER]) - [2]

If yiou don’t see that, it means you are connecting to a database schema that has no data.