0
최대 절전 모드 지원과 쌍을 이루는 Joda 시간이 사용됩니다.최대 절전 모드 시작시 Joda 유형 def 로딩이 실패 함
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="packagesToScan">
<list>
<value>org.joda.time</value>
</list>
</property>
<property name="annotatedClasses">
<list>
<value>...</value>
...
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.query.substitutions">true 1, false 0, yes 'Y', no 'N'</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
<property name="dataSource" ref="dataSource"/>
</bean>
:
@org.hibernate.annotations.TypeDefs({
@org.hibernate.annotations.TypeDef(
name="localDate",
typeClass =
org.joda.time.contrib.hibernate.PersistentLocalDate.class
)
})
package org.joda.time;
세션 공장 설정으로 스프링 컨텍스트가있다 : org.joda.time.package-info.java에서 형식 정의를
있어 다음과 같이 구성입니다
테스트 케이스가 있습니다.
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:spring-test.xml"})
@Transactional
public class OperatorDaoTest extends AbstractTransactionalJUnit4SpringContextTests {
//autowired dao field defined
...
@Test
public void testMethod(){
//calls DAO method
}
}
문제는 다음 예외입니다 :
Caused by: org.hibernate.MappingException: Could not determine type for: localDate, at table: TABLE_NAME, for columns: [org.hibernate.mapping.Column(DATE_COLUMN)]
대답은 고맙지 만 조언을 따르는 데 너무 많은 노력이 필요하므로 세션 팩토리에 유형 정의 속성을 추가하는 것과 같은 다른 해결 방법을 사용하는 것이 더 쉽습니다. –
약한 해결 방법은 제 의견으로는 실제로 문제를 해결하지 못합니다. – rtcarlson
@rtcarlson이 의견/투표에 감사 드리며, 아마도 약한 대답을 제안 할 수 있습니까? – NimChimpsky