Stepping on a limb, did you consider iBatis? This is the real structure of the mapping of requests to the earth (I cannot call it the ORM structure in any way). You should create XML files like this:
<mapper namespace="org.mybatis.jpetstore.persistence.ProductMapper"> <cache /> <select id="getProduct" parameterType="string" resultType="Product"> SELECT PRODUCTID, NAME, DESCN as description, CATEGORY as categoryId FROM PRODUCT WHERE PRODUCTID = #{productId} </select> </mapper>
which connects such a mapper:
public interface ProductMapper { Product getProduct(String productId); }
Allows you to access data from these services:
@Autowired private ProductMapper productMapper; public Product getProduct(String productId) { return productMapper.getProduct(productId); }
What you can connect with Spring:
<!-- enable autowire --> <context:annotation-config /> <!-- enable transaction demarcation with annotations --> <tx:annotation-driven /> <!-- define the SqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="typeAliasesPackage" value="org.mybatis.jpetstore.domain" /> </bean> <!-- scan for mappers and let them be autowired --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="org.mybatis.jpetstore.persistence" /> </bean>
See also the full petstore example .
I am not a uniquivocal fan of iBatis, but it can fit your needs in this particular case.
Adriaan koster
source share