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; }
相关推荐
3. **数据库交互**:在与数据库交互时,最好使用`java.sql.Date`或`java.sql.Timestamp`,这些类提供了与数据库交互所需的更精细控制。 总之,在Java中处理日期和时间时,理解`java.util.Date`与`java.sql.Date`的...
java.sql.Date、java.sql.Time和java.sql.Timestamp都是java.util.Date的子类(包装类)。但是,java.sql.Date类型的值插入到数据库中Date字段中会发生数据截取。这是因为java.sql.Date只包含年月日信息,时分秒毫秒...
Java编程语言提供了两个重要的日期处理类,分别是`java.util.Date`和`java.sql.Date`,它们在处理日期和时间上有着不同的特性和用途。 `java.util.Date`是更通用的日期时间类,它包含了日期和时间的信息,可以精确...
`java.sql.Time` 类仅包含小时、分钟和秒,而 `java.sql.Timestamp` 包含了完整的日期和时间,精度到纳秒,相当于 `java.util.Date` 的扩展。 对于字符串与 `java.sql.Date` 之间的转换,可以使用 `...
类型转换 ( Java.util.date与java.sql.date区别和转换
首先,使用 SimpleDateFormat 需要将字符串类型的日期数据解析成 java.util.Date 类型,然后使用 java.sql.Timestamp 将其转换成 Timestamp 对象。最后,可以直接将 Timestamp 对象插入到 SQLite 数据库中。 取出 ...
本文将深入探讨`java.util.Date`、`java.util.Calendar`、`java.sql.Date`、`java.sql.Time`和`java.sql.Timestamp`这五种日期时间类之间的区别和联系。 #### 1. `java.util.Date` `java.util.Date`类是Java中表示...
- `java.util.Date`(Java的日期时间类)可以转换为`java.sql.Date`、`java.sql.Time`或`java.sql.Timestamp`,通过`SimpleDateFormat`进行格式化。 - `java.time.*`(Java 8引入的新日期时间API)的类如`...
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; ...
- `TIMESTAMP` 对应 `java.sql.Types.TIMESTAMP` 和 `java.sql.Timestamp` 2. **Oracle 扩展的 Java 类型**: - `RAW` 类型对应 `oracle.sql.RAW` - `LONGRAW` 类型对应 `oracle.sql.RAW` - `NUMBER` 类型可以...
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 是三种常用的日期和时间类型,本文将详细介绍它们之间的转换问题。 一、获取...
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...
此外,`java.sql`包中还有`java.sql.Time`和`java.sql.Timestamp`类,分别用于表示时间(不包含日期)和日期时间的精确值,它们同样可以从`java.util.Date`通过`getTime()`方法转换得到。 总之,`java.util.Date`...
Java提供了多种时间类来满足不同的需求,包括`java.util.Date`, `java.sql.Date`, `java.sql.Time`, `java.sql.Timestamp`, `java.text.SimpleDateFormat`, 和 `java.util.Calendar`。下面我们将深入探讨这些类的...
【内容】t100w.sql 以及创建的sql语句,自己修改可以生成1000w... `dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
当从数据库中检索时间戳数据时,通常会得到`java.sql.Timestamp`类型的对象。为了将其格式化为易于阅读的字符串,可以再次利用`SimpleDateFormat`。 示例代码: ```java import java.sql.ResultSet; import java....
文章目录Timestamptimestamp.go如何使用 Timestamp path: google/protobuf/timestamp.proto 在 timestamppb 中 Timestamp 包含两个字段 seconds 表示秒 nanos 表示纳秒 message Timestamp { int64 seconds = 1; ...
关键在于正确地将`java.util.Date`转换为`java.sql.Date`或`java.sql.Timestamp`,以便能够被`setDate()`和`setTimestamp()`方法所接受。这种方法不仅可以避免类型不匹配的错误,还可以确保数据被准确无误地插入到...