当前位置: 首页 > 知识库问答 >
问题:

如何在postgres中节省没有时区的时间。我正在使用HibernateSpringMVC

景永望
2023-03-14

错误:“接收时间”列的类型为time,不带时区,但表达式的类型为bytea提示:您需要重写或强制转换表达式。职位:490

private LocalTime receiptTime;
@Column(name = "receipt_time")
public LocalTime getReceiptTime() {
 return receiptTime;
}
public void setReceiptTime(LocalTime receiptTime) {
   this.receiptTime = receiptTime;
}

共有1个答案

戚建德
2023-03-14

如果要使用LocalTime,则可以使用转换器:

@Converter
public class MyConverter implements AttributeConverter<LocalTime, Time> {

    @Override
    public Time convertToDatabaseColumn(LocalTime localTime) {
        if(localTime == null){
            return null;
        }

        // convert LocalTime to java.sql.Time
    }

    @Override
    public LocalTime convertToEntityAttribute(Time time) {
        if(time == null){
            return null;
        }

        // convert java.sql.Time to LocalTime
    }
}

然后在您的实体中,您将使用:

@Column(name = "receipt_time")
@Convert(converter = MyConverter.class)
public LocalTime getReceiptTime() {
 return receiptTime;
}
 类似资料:
  • 我正在处理C++代码,其中我试图将保存在列表中,以便以后读取值并计算持续时间。 之所以在列表中保存时间,是因为我有多个对象,需要捕获该对象被检测到的当前时间,然后当该对象消失时,我必须计算该对象的持续时间。 错误(活动)E0304重载函数“std::list<_ty,_alloc>::insert[with_ty=double,_alloc=std::allocator]”的实例与参数列表不匹配

  • 问题内容: 我目前正在解析时间字符串并将其保存到数据库(Postgresql): 这给了我这个错误: 的类型是。 我也尝试将postgresql的类型设置为string并使用time数据类型: 但是现在在获取数据库中的记录时出现错误: 问题答案: 对此问题进行了进一步调查。当前,GORM中不支持任何日期/时间类型,除了 请参阅Dialect_postgres.go的这部分代码: 因此,基本上我可以

  • 问题似乎在这个文件中:https://github.com/brianc/node-postgres/blob/master/lib/types/textparsers.js 如果从Postgres返回的日期字符串没有指定时区(例如或),那么它只会构造一个JavaScript日期对象,我相信它只会包括本地时区。

  • 问题内容: 我有以下查询: 我有以下准备好的声明 如果我检查数据库,我发现它只插入今天的日期而不是时间,因此它将是: 我还应该投入些什么来打发时间? 问题答案: 您应该使用 Timestamp 和 setTimestamp* 方法来代替 Date 。 **** * 实际上,您必须执行以下操作: ....

  • 错误[42883]错误:函数datediff(未知,没有时区的时间戳,没有时区的时间戳)不存在提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。职位:36