在过去的几个月里,我一直在使用Spring Data、JPA和MYSQL,这是一个相当成功和流畅的体验。在这里,我使用Java8LocalDateTime来存储日期、时间字段,JPA自动将这些字段映射到mysql tinyblob列。
最近,我得到一个要求,通过一个脚本添加一些数据到系统。为了填充日期时间列,我创建了MYSQL时间戳变量并插入到tinyblob列中。然而,系统开始抱怨SerializationException,其根本原因是转换的datetime列。然后,我查看了插入到应用程序中的日期、时间列,如下所示
select CAST(drop_off_time AS CHAR(10000) CHARACTER SET utf8) From job
看起来,当您通过应用程序插入时,它是作为某种java序列化插入的。然而,通过mysql脚本,我们无法复制该功能。
现在我有两个选择。1)我需要找到一种方法来编写mysql脚本来生成类似于应用程序的日期、时间列。2)我需要将Spring数据JPA映射从tinyblob更改为mysql脚本可以支持的另一种数据类型
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
<version>${hibernate.version}</version>
</dependency>
然后系统开始将Java8 LocalDateTime prperties映射到mysql DATETIME列
根据JPA2.1,LocalDateTime并不完全被假定(可能在短时间内JPA2.,2将是正式的)。Hibernate 5支持“早期发布”
由于JPA2.0是javax.persistence.attributeConverter
,因此可移植且受支持,在所有JPA提供程序上都工作得很好(在Hibernate5上也没什么不好的)
@Converter(autoApply = true)
public class LocalDateAttributeConverter implements AttributeConverter<LocalDate, Date> {
@Override
public Date convertToDatabaseColumn(LocalDate locDate) {
return (locDate == null ? null : Date.valueOf(locDate));
}
@Override
public LocalDate convertToEntityAttribute(Date sqlDate) {
return (sqlDate == null ? null : sqlDate.toLocalDate());
}
}
我使用JAX-RS方法注释创建了一个RESTful web服务:
我在Scala2.11.1和Hzaelcast 3.5中使用kryo进行序列化。我试图将数据放在hazelcast映射中,但我得到了KryoException 下面是我的用户类序列化程序 现在,当我将用户类对象从Hcast客户端放入相应的映射中时,如下所示 它给了我这些例外: 以下是中的 请帮帮我!!
本文向大家介绍webpack proxy 使用(代理的使用),包括了webpack proxy 使用(代理的使用)的使用技巧和注意事项,需要的朋友参考一下 为什么要写篇文章 这两天的开发中遇到一些需要代理才能解决的问题, 在这里记录一下, 方便以后的查阅. 为什么要用代理 跨域 在开发过程中, 我们的开发环境一般都是http:// localhost, 但是如果需要请求的数据不在本地, 那么我们就
如何使用Spring RestTemplate发送GET请求?其他问题都用了POST,但我需要用get。当我运行这个程序时,程序继续工作,但似乎网络堵塞了,因为它在一个AsyncTask中,当我单击这个按钮后试图运行另一个AsyncTask时,它们将无法工作。 我试着做
问题内容: 最近,我尝试了解 java.math.MathContext 的用法,但未能正确理解。它用于四舍五入。如果是,为什么不四舍五入十进制数字,甚至尾数部分。 从API文档中,我知道它遵循,和规范中指定的标准,但是我没有让他们在线阅读。 如果您对此有任何想法,请告诉我。 问题答案: @贾坦 谢谢您的回答。这说得通。您能否在BigDecimal#round方法的上下文中向我解释MathCont
主要内容:下载 Nexus 3,启动 nexus 服务,访问 nexus 3.x目前 Nexus 分为 Nexus 2 和 Nexus 3 两个大版本,它们是并行的关系。与 Nexus 2 相比,Nexus 3 具有很多优势,例如支持更多的仓库格式、优化了用户的使用界面以及更加强大的搜索功能等等。 目前使用最多的,运行最稳定是 Nexus 2,但随着 Nexus 3 对 Maven 的支持越来越稳定,很多公司和组织都陆续开始使用 Nexus 3。 本节我们将介绍 Nexus
使用StaggedGridLayoutManager/GridLayoutManager如何使网格项在垂直方向上具有两个跨距,在水平方向上具有两个跨距?
本文向大家介绍arguments 的使用?相关面试题,主要包含被问及arguments 的使用?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: arguments是类数组对象,有length属性,不能调用数组方法 可用Array.from()转换