Spring 乔达时间和冬眠4

Spring 乔达时间和冬眠4,spring,hibernate,jpa,jodatime,spring-data,Spring,Hibernate,Jpa,Jodatime,Spring Data,我正在使用Hibernate4和joda time和spring数据jpa。Spring数据提供注释 @CreadedOn @LastModifiedOn 我正在尝试使用这两个注释 @Entity @Table(name="restaurant") @Audited public class Restaurant { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; private String res

我正在使用Hibernate4和joda time和spring数据jpa。Spring数据提供注释

@CreadedOn
@LastModifiedOn
我正在尝试使用这两个注释

@Entity
@Table(name="restaurant")
@Audited
public class Restaurant {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;

private String restaurantName;

@CreatedDate
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
 // @Type(type = "org.jadira.usertype.dateandtime.threetenbp.PersistentDateTime")
private DateTime createdOn;

@LastModifiedDate
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
 // @Type(type = "org.jadira.usertype.dateandtime.threetenbp.PersistentDateTime")
private DateTime modifiedOn;
}
根据提供的说明,我已经用
@Type
注释了我的属性。但是仍然没有运气。每次我使用
@Type
注释并部署它时,我的服务器上都会出现错误

严重:listenerStart错误

下面是完整的堆栈跟踪

    Jan 15, 2014 11:40:00 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive G:\apache-tomcat-7.0.47\webapps\base-spr
ing-data-jpa.war
Jan 15, 2014 11:40:00 AM org.apache.catalina.loader.WebappClassLoader validateJa
rFile
INFO: validateJarFile(G:\apache-tomcat-7.0.47\webapps\base-spring-data-jpa\WEB-I
NF\lib\javax.servlet-api-3.1.0.jar) - jar not loaded. See Servlet Spec 2.3, sect
ion 9.7.2. Offending class: javax/servlet/Servlet.class
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further detail
s.
Jan 15, 2014 11:40:05 AM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.2.Final}
Jan 15, 2014 11:40:05 AM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.2.7.Final}
Jan 15, 2014 11:40:05 AM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Jan 15, 2014 11:40:05 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Jan 15, 2014 11:40:05 AM org.hibernate.ejb.Ejb3Configuration configure
INFO: HHH000204: Processing PersistenceUnitInfo [
        name: default
        ...]
Jan 15, 2014 11:40:05 AM org.hibernate.service.jdbc.connections.internal.Connect
ionProviderInitiator instantiateExplicitConnectionProvider
INFO: HHH000130: Instantiating explicit connection provider: org.hibernate.ejb.c
onnection.InjectedDataSourceConnectionProvider
Jan 15, 2014 11:40:06 AM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
Jan 15, 2014 11:40:06 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Jan 15, 2014 11:40:06 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/base-spring-data-jpa] startup failed due to previous errors
Jan 15, 2014 11:40:06 AM org.apache.catalina.loader.WebappClassLoader clearRefer
encesJdbc
SEVERE: The web application [/base-spring-data-jpa] registered the JDBC driver [
com.mysql.jdbc.Driver] but failed to unregister it when the web application was
stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistere
d.
Jan 15, 2014 11:40:06 AM org.apache.catalina.loader.WebappClassLoader clearRefer
encesThreads
SEVERE: The web application [/base-spring-data-jpa] appears to have started a th
read named [Abandoned connection cleanup thread] but has failed to stop it. This
 is very likely to create a memory leak.
Jan 15, 2014 11:40:06 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory G:\apache-tomcat-7.0.47\webapps\docs
Jan 15, 2014 11:40:06 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory G:\apache-tomcat-7.0.47\webapps\exampl
es
Jan 15, 2014 11:40:06 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory G:\apache-tomcat-7.0.47\webapps\host-m
anager
Jan 15, 2014 11:40:07 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory G:\apache-tomcat-7.0.47\webapps\manage
r
Jan 15, 2014 11:40:07 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory G:\apache-tomcat-7.0.47\webapps\ROOT
Jan 15, 2014 11:40:07 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Jan 15, 2014 11:40:07 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
Jan 15, 2014 11:40:07 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 6648 ms
2014年1月15日上午11:40:00 org.apache.catalina.startup.HostConfig deployWAR
信息:部署web应用程序存档G:\apache-tomcat-7.0.47\webapps\base spr
ing-data-jpa.war
2014年1月15日上午11:40:00 org.apache.catalina.loader.WebappClassLoader validateJa
档案
信息:validateJarFile(G:\apache-tomcat-7.0.47\webapps\base-spring-data-jpa\WEB-I
NF\lib\javax.servlet-api-3.1.0.jar)-未加载jar。请参见Servlet规范2.3第节
第9.7.2条。有问题的类:javax/servlet/servlet.class
SLF4J:未能加载类“org.SLF4J.impl.StaticLoggerBinder”。
SLF4J:默认为无操作(NOP)记录器实现
SLF4J:参见http://www.slf4j.org/codes.html#StaticLoggerBinder 欲知详情
s
2014年1月15日上午11:40:05 org.hibernate.annotations.common.Version
信息:HCANN000001:Hibernate Commons注释{4.0.2.Final}
2014年1月15日上午11:40:05 org.hibernate.Version日志版本
信息:hh000412:Hibernate核心{4.2.7.Final}
2014年1月15日上午11:40:05 org.hibernate.cfg.Environment
信息:HH000206:找不到hibernate.properties
2014年1月15日上午11:40:05 org.hibernate.cfg.Environment buildBytecodeProvider
信息:HH000021:字节码提供程序名称:javassist
2014年1月15日上午11:40:05 org.hibernate.ejb.ejb3配置
信息:HH000204:正在处理PersistenceUnitInfo[
名称:默认值
...]
2014年1月15日上午11:40:05 org.hibernate.service.jdbc.connections.internal.Connect
ionProviderInitiator实例化ExplicitConnectionProvider
信息:hh000130:实例化显式连接提供程序:org.hibernate.ejb.c
Connection.InjectedDataSourceConnectionProvider
2014年1月15日上午11:40:06 org.hibernate.dialogue.dialogue
信息:HH000400:使用方言:org.hibernate.dialogue.mysqldialogue
2014年1月15日上午11:40:06 org.apache.catalina.core.StandardContext startInternal
严重:listenerStart错误
2014年1月15日上午11:40:06 org.apache.catalina.core.StandardContext startInternal
严重:由于以前的错误,上下文[/base spring data jpa]启动失败
2014年1月15日上午11:40:06 org.apache.catalina.loader.WebappClassLoader ClearReference
encesJdbc
严重:web应用程序[/base spring data jpa]注册了JDBC驱动程序[
com.mysql.jdbc.Driver],但在启动web应用程序时无法注销它
停止。为了防止内存泄漏,JDBC驱动程序已被强制注销
D
2014年1月15日上午11:40:06 org.apache.catalina.loader.WebappClassLoader ClearReference
encesThreads
严重:web应用程序[/base spring data jpa]似乎已启动
已读取名为[放弃连接清理线程],但无法停止它。这
很可能会造成内存泄漏。
2014年1月15日上午11:40:06 org.apache.catalina.startup.HostConfig部署目录
信息:部署web应用程序目录G:\apache-tomcat-7.0.47\webapps\docs
2014年1月15日上午11:40:06 org.apache.catalina.startup.HostConfig部署目录
信息:部署web应用程序目录G:\apache-tomcat-7.0.47\webapps\exampl
锿
2014年1月15日上午11:40:06 org.apache.catalina.startup.HostConfig部署目录
信息:部署web应用程序目录G:\apache-tomcat-7.0.47\webapps\host-m
经理
2014年1月15日上午11:40:07 org.apache.catalina.startup.HostConfig部署目录
信息:部署web应用程序目录G:\apache-tomcat-7.0.47\webapps\manage
R
2014年1月15日上午11:40:07 org.apache.catalina.startup.HostConfig部署目录
信息:部署web应用程序目录G:\apache-tomcat-7.0.47\webapps\ROOT
2014年1月15日上午11:40:07 org.apache.coyote.AbstractProtocol开始
信息:正在启动ProtocolHandler[“http-nio-8080”]
2014年1月15日上午11:40:07 org.apache.coyote.AbstractProtocol开始
信息:正在启动ProtocolHandler[“ajp-apr-8009”]
2014年1月15日上午11:40:07 org.apache.catalina.startup.catalina start
信息:服务器启动时间为6648毫秒
从昨天开始,我一直在努力完成这两项工作,但无法完成。有人能告诉我如何解决这个问题吗?下面是我的pom依赖项和存储库

 <dependencies>
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>3.8.1</version>
  <scope>test</scope>
</dependency>

   <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
    </dependency>

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.1.0.Final</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>5.0.1.Final</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>4.2.7.Final</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>4.2.7.Final</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.27</version>
</dependency>
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-jpa</artifactId>
    <version>1.5.0.BUILD-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
</dependency>
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
    <version>3.2.5.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-envers</artifactId>
    <version>4.2.7.Final</version>
</dependency>
<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.3</version>
</dependency>

朱尼特
朱尼特
3.8.1
测试
org.springframework
弹簧芯
${spring.version}
org.springframework
春豆
${spring.version}
org.springframework
spring上下文
3.2.5.1发布
org.springframework
弹簧网
${spring.version}
javax.validation
验证api
1.1.0.1最终版本
org.hibernate
休眠验证器
5.0.1.最终版本
org.hibernate
休眠实体管理器
4.2.7.最终版本
org.hibernate
冬眠核心
4.2.7.最终版本
mysql
mysql连接器java
5.1.27
org.springframework.data
spring数据jpa
1.5.0.1构建快照
javax.servlet
javax.servlet-api
3.1.0
jstl
jstl
1.2
org.springframework
SpringWebMVC
${spring.version}
org.springframework
春季方面
3.2.5.1发布
org.hibernate
冬眠使者
4.2.7.最终版本
乔达时间
乔达时间
2.3


springlibs快照
http://repo.spring.io/libs-snapshot

您不需要使用@Type注释。只需添加以下jpa属性:

entityManagerFactory.getJpaPropertyMap().put("jadira.usertype.autoRegisterUserTypes", "true");
我还认为你错过了jadira dependecy:

<dependency>
  <groupId>org.jadira.usertype</groupId>
  <artifactId>usertype.core</artifactId>
  <version>3.1.0.CR10</version>
</dependency>

org.jadira.usertype
usertype.core
3.1.0.CR10

如果您将gradle和spring引导与基于注释的配置一起使用,您可以通过

build.gradle

dependencies {
    compile 'org.jadira.usertype:usertype.core:3.2.0.GA'
}
应用程序属性

#Hibernate config
spring.jpa.properties.jadira.usertype.autoRegisterUserTypes=true

我对你感激不尽。我希望我能投你的一票
#Hibernate config
spring.jpa.properties.jadira.usertype.autoRegisterUserTypes=true