您的位置:首页 > 编程语言 > Java开发

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

2012-08-17 15:53 429 查看

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

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

Solution: Create an XMLAdapter

Example: Annotate the field:

@XmlJavaTypeAdapter( TimestampAdapter.class)

public Timestamp done_date;And you’ll need the actual TimestampAdapter class:

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());

}

}You can also annotate the package holding the object you are marshaling with the Timestamp attribute. e.g. in com/example/package-info.java have:

@XmlJavaTypeAdapters(

@XmlJavaTypeAdapter(value=TimestampAdapter.class,type=Timestamp.class))

package com.example;Note that annotations do not flow ‘down’ to the sub packages. e.g. no use putting the package-info.java in the ‘com’ package.

Better solution: someone at Sun/Oracle annotate the actual Timestamp class please?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐