我正在使用def spiffy_file_makerAB(spiffy_obj, file, mode, *, closefd=True):
try:
# file-like (use the file descriptor to open)
result_f = open(file.fileno(), mode, closefd=closefd)
except TypeError:
# file-path-like
result_f = open(file, mode)
finally:
file_str = '\n'.join(spiffy_obj.gen_file())
result_f.write(file_str)
return result_f
,Java 8
和Spring Boot 1.4
。
我有一个hsqldb
字段的实体。
当我检查由hibernate生成的sql时,它使用java.time.LocalDateTime
作为数据类型。
如何使用varbinary
数据类型?
更新
当我添加timestamp
依赖项时,它确实有效。
但它不适用于hibernate-java8 (5.1.0.Final)
。这可能是因为hibernate-java8 (5.2.x versions)
支持已添加到Java 8
本身。
答案 0 :(得分:4)
在添加hibernate-java8 (5.1.0.Final)
依赖项时有效。
它不适用于hibernate-java8 (5.2.x versions)
。
这是因为Java 8支持自己添加了to hibernate-core 5.2
。
答案 1 :(得分:0)
另一种方法是用转换器注释您的实体localDateTime_field。
@Convert(converter = LocalDateTimeConverter.class)
private LocalDateTime localDateTime_field;
这是怎么回事:
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
import java.sql.Timestamp;
import java.time.LocalDateTime;
@Converter
public class LocalDateTimeConverter implements AttributeConverter<LocalDateTime, Timestamp> {
@Override
public Timestamp convertToDatabaseColumn(LocalDateTime localDateTime) {
return localDateTime == null ? null : Timestamp.valueOf(localDateTime);
}
@Override
public LocalDateTime convertToEntityAttribute(Timestamp timestamp) {
return timestamp == null ? null : timestamp.toLocalDateTime();
}
}