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

java.sql.Timestamp does not have a no-arg default constructor.

 
阅读更多

Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions

java.sql.Timestamp does not have a no-arg default constructor.

this problem is related to the following location:

at java.sql.Timestamp

at public java.sql.Timestamp com.yazuo.api.service.account.vo.MerchantProductVo.getBeginTime()

at com.yazuo.api.service.account.vo.MerchantProductVo

使用cxf 框架 构造webservice 接口的使用, 如果返回对象中定义了 java.sql.Timestamp 会出现以上异常,   原因 , cxf 解析返回对象的时候需要使用无参构造函数, java中本来默认每一个类都有一个无参构造函数, 但是我们发现



 

有这连个构造函数后, java 的默认无参构造函数实效, 到时cxf 无法解析到这个类,出现以上错误

 

 

解决办法:

 

1、 在接口中不使用  java.sql.Timestamp

2、使用XmlAdapter 来覆盖绕过

 

 

其中2的使用方式:

 

import java.sql.Timestamp;
import java.util.Date;
import javax.xml.bind.annotation.adapters.XmlAdapter; 
public class TimestampAdapter extends XmlAdapter<Date, Timestamp> {  
  
    public Date marshal(Timestamp v) {  
        return new Date(v.getTime());  
    }  
  
    public Timestamp unmarshal(Date v) {  
        return new Timestamp(  
            v.getTime());  
    }  
}

 

	}

	@XmlJavaTypeAdapter(value = TimestampAdapter.class, type = Timestamp.class)
	public java.sql.Timestamp getBeginTime() {
		return beginTime;
	}

	public void setBeginTime(java.sql.Timestamp beginTime) {
		this.beginTime = beginTime;
	}

	@XmlJavaTypeAdapter(value = TimestampAdapter.class, type = Timestamp.class)
	public java.sql.Timestamp getEndTime() {
		return endTime;
	}

 

 

  • 大小: 1.7 KB
分享到:
评论

相关推荐

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式.docx

    3. **数据库交互**:在与数据库交互时,最好使用`java.sql.Date`或`java.sql.Timestamp`,这些类提供了与数据库交互所需的更精细控制。 总之,在Java中处理日期和时间时,理解`java.util.Date`与`java.sql.Date`的...

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式[文].pdf

    java.sql.Date、java.sql.Time和java.sql.Timestamp都是java.util.Date的子类(包装类)。但是,java.sql.Date类型的值插入到数据库中Date字段中会发生数据截取。这是因为java.sql.Date只包含年月日信息,时分秒毫秒...

    java.sql.与java.util

    Java编程语言提供了两个重要的日期处理类,分别是`java.util.Date`和`java.sql.Date`,它们在处理日期和时间上有着不同的特性和用途。 `java.util.Date`是更通用的日期时间类,它包含了日期和时间的信息,可以精确...

    java.sql.date与java.util.date.pdf

    `java.sql.Time` 类仅包含小时、分钟和秒,而 `java.sql.Timestamp` 包含了完整的日期和时间,精度到纳秒,相当于 `java.util.Date` 的扩展。 对于字符串与 `java.sql.Date` 之间的转换,可以使用 `...

    Java.util.date与java.sql.date区别和转换

    类型转换 ( Java.util.date与java.sql.date区别和转换

    Android的SQLite中DateTime类型数据的存取问题

    首先,使用 SimpleDateFormat 需要将字符串类型的日期数据解析成 java.util.Date 类型,然后使用 java.sql.Timestamp 将其转换成 Timestamp 对象。最后,可以直接将 Timestamp 对象插入到 SQLite 数据库中。 取出 ...

    java四种时间的区别和联系

    本文将深入探讨`java.util.Date`、`java.util.Calendar`、`java.sql.Date`、`java.sql.Time`和`java.sql.Timestamp`这五种日期时间类之间的区别和联系。 #### 1. `java.util.Date` `java.util.Date`类是Java中表示...

    mysql时间类型对应的java类型1

    - `java.util.Date`(Java的日期时间类)可以转换为`java.sql.Date`、`java.sql.Time`或`java.sql.Timestamp`,通过`SimpleDateFormat`进行格式化。 - `java.time.*`(Java 8引入的新日期时间API)的类如`...

    项目源码-java图书馆管理系统

    import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; import com.wsy.model.Back; import com.wsy.model.BookInfo; import com.wsy.model.BookType; import com.wsy.model.Borrow; ...

    oracle-java数据类型1

    - `TIMESTAMP` 对应 `java.sql.Types.TIMESTAMP` 和 `java.sql.Timestamp` 2. **Oracle 扩展的 Java 类型**: - `RAW` 类型对应 `oracle.sql.RAW` - `LONGRAW` 类型对应 `oracle.sql.RAW` - `NUMBER` 类型可以...

    oracle数据类型和对应的JDBC类型.pdf

    TIMESTAMP 对应的 JDBC 类型是 java.sql.Types.TIMESTAMP,Java 类型是 java.sql.Timestamp。 4. 二进制类型 RAW 对应的 JDBC 类型是 java.sql.Types.BINARY,Java 类型是 byte[]。LONG_RAW 对应的 JDBC 类型是 ...

    有关java中的Date,String,Timestamp之间的转化问题

    Java 中的 Date、String 和 Timestamp 之间的转换问题 Java 中的日期和时间处理是编程中非常重要的一方面,Date、String 和 Timestamp 是三种常用的日期和时间类型,本文将详细介绍它们之间的转换问题。 一、获取...

    xfire测试项目(包括复杂数据类型)

    public java.sql.Timestamp getTimestamp(java.sql.Timestamp a); public java.sql.Date getSDate(java.sql.Date a); public java.sql.Time getTime(java.sql.Time a); /*自定义类型*/ public UserBean getUser...

    Javautildate与javasqldate区别和转换[文].pdf

    此外,`java.sql`包中还有`java.sql.Time`和`java.sql.Timestamp`类,分别用于表示时间(不包含日期)和日期时间的精确值,它们同样可以从`java.util.Date`通过`getTime()`方法转换得到。 总之,`java.util.Date`...

    浅谈java中六大时间类的使用和区别

    Java提供了多种时间类来满足不同的需求,包括`java.util.Date`, `java.sql.Date`, `java.sql.Time`, `java.sql.Timestamp`, `java.text.SimpleDateFormat`, 和 `java.util.Calendar`。下面我们将深入探讨这些类的...

    mysql 100万1000万条数据表的生成,t100w.sql导入文件

    【内容】t100w.sql 以及创建的sql语句,自己修改可以生成1000w... `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

    【源码阅读】 protobuf 中的 timestamp 包

    文章目录Timestamptimestamp.go如何使用 Timestamp path: google/protobuf/timestamp.proto 在 timestamppb 中 Timestamp 包含两个字段 seconds 表示秒 nanos 表示纳秒 message Timestamp { int64 seconds = 1; ...

    java中日期格式的转换

    当从数据库中检索时间戳数据时,通常会得到`java.sql.Timestamp`类型的对象。为了将其格式化为易于阅读的字符串,可以再次利用`SimpleDateFormat`。 示例代码: ```java import java.sql.ResultSet; import java....

    PreparedStatement 向数据库插入时间方法

    关键在于正确地将`java.util.Date`转换为`java.sql.Date`或`java.sql.Timestamp`,以便能够被`setDate()`和`setTimestamp()`方法所接受。这种方法不仅可以避免类型不匹配的错误,还可以确保数据被准确无误地插入到...

Global site tag (gtag.js) - Google Analytics