gpt4 book ai didi

java - Hibernate 初始化期间 Joda 类型 def 加载失败

转载 作者:行者123 更新时间:2023-12-01 15:39:45 24 4
gpt4 key购买 nike

Joda 时间与 hibernate 支持结合使用。配置如下:

org.joda.time.package-info.java中有 typedef:

@org.hibernate.annotations.TypeDefs({
@org.hibernate.annotations.TypeDef(
name="localDate",
typeClass =
org.joda.time.contrib.hibernate.PersistentLocalDate.class
)
})
package org.joda.time;

有一个带有 session 工厂配置的 spring 上下文:

<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>

然后是测试用例:

@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)]

最佳答案

我使用标准日期映射到数据库,然后在我的 getter/setter 中使用 joda-time 并执行转换,以避免像您遇到的问题。 This may be of use

关于java - Hibernate 初始化期间 Joda 类型 def 加载失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8258002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com