使用带有postgres驱动程序的NamedParameterJdbcTemplate,使用java.time.Instant属性保存实体

时间:2018-03-01 17:47:39

标签: postgresql spring-jdbc

我在使用NamedJdbcTemplate保存具有Instant值的实体时遇到问题。我收到下面列出的例外情况,我正在尝试确定解决此问题的最佳方法。请指教。

  

无法推断用于java.time.Instant实例的SQL类型。使用带有显式Types值的setObject()来指定要使用的类型。

我正在使用postgresql:9.4.1212驱动程序

1 个答案:

答案 0 :(得分:0)

此代码对我有用:

>>> [field for field in 
list_1[0:17]+['certificate','private_key']+list_1[18::] 
if field not in ['extensions','passphrase']]

#output
['id', 'name', 'organization', 'notes', 'key_length', 'digest',  
'validity_start', 'validity_end', 'country_code', 'state', 'city', 
'organization_name', 'organizational_unit_name', 'email',  
'common_name', 'serial_number', 'certificate', 'private_key',   
'created', 'modified']

其中 SQL 是参数化查询,并确保您使用的是 java.sql.Timestamp 和 java.sql.Types。