이유는 자바 8이 나오기 전에 JPA 2.1이 먼저 릴리즈 됐기 때문인데...
그것 때문에 계속 기존 API를 사용하기도 답답한 노릇이라...
@Converter 애노테이션과 AttributeConverter 인터페이스를 활용해서 해결한다.
<bean id="eslDataSource" class="com.atomikos.jdbc.AtomikosDataSourceBean" init-method="init" destroy-method="close">
<property name="uniqueResourceName" value="mssql" />
<property name="xaDataSourceClassName" value="#{db['esl.driverClassName']}" />
<property name="xaProperties">
<props>
<prop key="user">#{db['esl.username']}</prop>
<prop key="password">#{db['esl.password']}</prop>
<prop key="URL">#{db['esl.url']}</prop>
</props>
</property>
<property name="testQuery" value="Select 1" />
<property name="minPoolSize" value="10" />
<property name="maxPoolSize" value="10" />
</bean>
<bean id="AtomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager" init-method="init" destroy-method="close">
<property name="forceShutdown" value="false" />
</bean>
<bean id="AtomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp">
<property name="transactionTimeout" value="300" />
</bean>
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManager" ref="AtomikosTransactionManager" />
<property name="userTransaction" ref="AtomikosUserTransaction" />
</bean>