`
ssxxjjii
  • 浏览: 950856 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate 中配置MYSQL日期类型自动赋值问题

阅读更多

hibernate 中配置MYSQL日期类型自动赋值问题

 

报错:ERROR JDBCExceptionReporter:101 - Field 'addDate' doesn't have a default value

 

当在hibernate  中配置需要自动设置值的日期类型时候,只能使用timestamp时间戳类型,并且在<property>标签中配置时候不可以直接配置属性TYPE=“timestamp”这样情况下,当使用hibernate的hbm2ddl工具时候创建的表字段为datetime类型,而非我们所想要的时间戳timestamp类型。我们应该在<column>标签中配置sql-type="timestamp"

如下:

正确配置:

(需要自动设置值,即数据库自动设置系统时间)日期配置

<property name="addDate"  generated="insert" not-null="true">
			<column name="addDate" sql-type="timestamp" default="CURRENT_TIMESTAMP"/>
		</property>
 

    或:

 

		<property name="addDate"  generated="insert" not-null="true">
			<column name="addDate" sql-type="timestamp"></column>
		</property>

 

 

分享到:
评论
4 楼 ssxxjjii 2010-03-10  
叩舷而歌 写道
不行啊LZ,还是空,POJO类里对应的字段设成什么类型?数据库里是timestamp还是datetime?


这个需要看你的需求,我的需求是自动记录数据的添加时间,使用了mysql时间自动添加功能
我对应的字段是Date类型,数据库里是timestamp,
数据库中该字段:
`addDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
希望对你有帮助
3 楼 叩舷而歌 2010-03-06  
不行啊LZ,还是空,POJO类里对应的字段设成什么类型?数据库里是timestamp还是datetime?
2 楼 叩舷而歌 2010-03-06  
啊,正需要这个,感谢LZ。
1 楼 2001430 2009-07-13  
<property name="registeredTime" column="REGISTERED_TIME"
type="timestamp"
/>

相关推荐

    hibernate struts处理mysql数据库blob字段实例

    本实例主要探讨如何利用Hibernate和Struts框架来处理MySQL数据库中的BLOB字段,实现文件的上传与下载功能。 **一、Hibernate框架** Hibernate是一个强大的Java持久化框架,它简化了数据库操作,提供了对象关系映射...

    Hibernate5教程文档大纲

    - ORM解决了传统JDBC编程中的一些问题,比如减少了重复的代码,降低了对数据库API的依赖,使得开发人员能够专注于业务逻辑而不是数据访问细节。 1.2.模拟自定义ORM步骤: - 创建映射文件(如`hibernate-mapper....

    java框架之hibernate

    - 当访问代理对象的属性时,Hibernate会自动从数据库中加载对应的数据。 - 如果数据库中不存在该对象,则会抛出`org.hibernate.LazyInitializationException`或`org.hibernate.ObjectNotFoundException`异常。 - ...

    hibernate常见错误解决方案

    当Hibernate尝试解析一个XML配置文件时,如果文件中的某些字符不符合UTF-8编码规则,就会抛出此类异常。 **解决方法:** - 确保所有XML配置文件中的文本都符合UTF-8编码标准。 - 使用文本编辑器或IDE检查并修复问题...

    hibernate全面精品总结

    数据类型基数指的是 Hibernate 如何处理不同数据类型的一对多、一对一、多对多等关系。例如,`@OneToMany`、`@ManyToOne`、`@OneToOne` 和 `@ManyToMany` 注解用于标记这些关系。 ### 三、对象关系映射文件(ORM) ...

    hibernate各种主健详解

    - 无需在配置文件中明确指定生成策略,简化了配置。 - 适用于需要快速部署到多种数据库环境的应用程序。 **应用场景:** - 快速原型开发。 - 多数据库平台支持的项目。 #### 7. UUID(通用唯一标识符) **简介:*...

    hibernate性能优化.doc

    在Hibernate配置中指定`hibernate.jdbc.fetch_size`。 2. **代码重构**: - 减少对数据库的直接操作,优化查询语句,避免使用`in`操作和递归查询,这些可能导致性能下降。 - 对于大数据量查询,避免一次性加载...

    hibernate基础 二 关联映射 级联操作

    - **identity**:利用数据库的自动增长特性(如MySQL的AUTO_INCREMENT)。 - **sequence**:基于数据库序列(sequence)生成主键。 - **table**:使用数据库表来存储和管理主键的值。 - **hilo**:使用“high-low”...

    hibernate性能优化[参考].pdf

    - **MySQL配置优化**:通过修改`my.cnf`配置文件,调整参数以提高性能,如缓冲池大小、索引缓存等。 2. **Oracle数据库优化**: - **Fetch Size**:设置JDBC Statement的Fetch Size,比如30、50或100,可以减少...

    java培训个人总结.pdf

    - Hibernate配置:使用MyEclipse工具自动创建`hibernate.cfg.xml`和`SessionFactory`,以及Bean类和映射文件。 - Hibernate的增删改查操作:理解如何通过Hibernate与数据库交互。 - 关联配置:学习了如何在...

    SSH简易开发指南

    这三种技术分别解决了Web应用程序中的不同层面问题:Spring负责业务逻辑层的管理与控制反转(IoC),Struts处理MVC架构中的控制器部分,而Hibernate则作为对象关系映射(ORM)工具,用于简化数据库操作。 #### 描述...

    java一级缓存及对象关系映射

    Java一级缓存是指Hibernate框架中内置的一种缓存机制,它位于SessionFactory和Session之间,是Session级别的缓存。一级缓存的主要作用是提高数据访问效率,避免频繁地与数据库进行交互。当对象被加载到Session中时,...

    mysql+struts+

    例如,可以通过Hibernate将`Event`对象持久化到MySQL数据库中。 ### 总结 综上所述,这段代码示例展示了如何使用Java语言定义一个简单的`Address`类来封装地址信息,并提供了一些基本的操作方法。此外,虽然`Event...

    DBUnit测试规范[收集].pdf

    2. **主键自增长问题**:在MySQL中,尽管主键设为自增长,但在数据初始化时仍然可以手动赋值。然而,对于DB2等其他数据库,主键通常不需显式指定,因为它们会自动生成。DBUnit的`InsertIdentityOperation`适用于...

    框架集合错误解决方案

    Hibernate ID 生成器配置问题 **错误现象:** ```plaintext org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save() ``` **问题描述:** 当尝试...

    spring-boot笔记

    - **MySQL Driver**: 添加 MySQL 驱动依赖,以便与 MySQL 数据库通信。 4. **端口号配置**: - **application.yml**: 修改端口号配置,例如 `server.port: 8080`。 5. **数据校验**: - **依赖**: 添加 Hibernate...

    grails开发笔记

    1. **规约取代配置**:这一原则意味着框架根据约定的规则自动处理许多常见的配置任务,从而减少了需要手动配置的项目数量。这使得代码更加简洁且易于维护。 2. **与 Java 的兼容性**:Groovy 与 Java 完全兼容,这...

    2020年最新Java面试题.pdf

    标题中提到的是“2020年最新Java面试题.pdf”,它主要涵盖以下几个Java面试的关键知识点部分,具体包括JAVA基础知识、JVM(Java虚拟机)相关知识、开源框架知识、多线程编程以及数据库知识。以下将详细解释这些部分...

    一线互联网Java面试题.docx

    13. **获取自动生成的键值**:通过`useGeneratedKeys="true"`和`keyProperty="property"`设置,MyBatis会自动获取数据库生成的键值并将其赋值给对应的属性。 这只是文档中关于MyBatis的一部分内容,实际面试中,还...

Global site tag (gtag.js) - Google Analytics