gpt4 book ai didi

java - 无法在 Camel jdbc中将postgresql时间戳与时区映射

转载 作者:搜寻专家 更新时间:2023-11-01 03:16:38 24 4
gpt4 key购买 nike

我有以下路线从 postgresql 获取数据,但日期对象为空。它无法映射该值

如果遵循我的路线

<route id="instrumentqueryshortsell">
<from uri="direct:restinstumentshortsell"/>
<bean ref="inConverter" method="convert"/>
<setBody>
<simple>select instrumentId as instrument_Id ,amount,easytoborrow as easy_To_Borrow,hardtoborrow as hard_To_Borrow ,datetime as date from instrument_short_sell where instrumentId in (${body}) </simple>
</setBody>
<log message="Running following query ${body} " loggingLevel="DEBUG"/>
<to uri="jdbc:dataSource?useHeadersAsParameters=true&amp;outputClass=<packagename?.InstrumentShortSell" />

</route>

我的 Pojo 类看起来像

import java.time.LocalDateTime;

import org.joda.time.DateTime;


public class InstrumentShortSell {

private String instrumentId;
private long amount;
private boolean easyToBorrow;
private boolean hardToBorrow;
private DateTime date;

public DateTime getDate() {
return date;
}
public void setDate(DateTime date) {
this.date = date;
}
public String getInstrumentId() {
return instrumentId;
}
public void setInstrumentId(String instrumentId) {
this.instrumentId = instrumentId;
}
public long getAmount() {
return amount;
}
public void setAmount(long amount) {
this.amount = amount;
}
public boolean isEasyToBorrow() {
return easyToBorrow;
}
public void setEasyToBorrow(boolean easyToBorrow) {
this.easyToBorrow = easyToBorrow;
}
public boolean isHardToBorrow() {
return hardToBorrow;
}
public void setHardToBorrow(boolean hardToBorrow) {
this.hardToBorrow = hardToBorrow;
}


}

SQL 模式是

CREATE TABLE instrument_short_sell (
instrumentId serial ,
amount INTEGER,
easytoborrow boolean,
hardtoborrow boolean,
datetime timestamp with time zone
) ;

我无法映射 jodadatetime 并且每次它变为空时。请帮我看看我们如何在 Camel jdbc 中映射它

最佳答案

您需要为 org.joda.time.DateTime 添加类型转换器,以便 Camel 可以将行值转换为 joda time 的实例。 Camel 并未随附这些开箱即用的转换器。

另一种方法是在 POJO 类中使用 java.lang.Object 作为参数类型,并在 setter 中进行类型转换。

关于java - 无法在 Camel jdbc中将postgresql时间戳与时区映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47922668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com