我正在尝试使用 Hibernate 和 PostgreSQL (9.5) 更新现有数据库条目,以便修剪字符串中的空格。例如...

... 
EntityManager entityManager = EntityManagerHelper.getEntityManager(); 
entityManager.getTransaction().begin(); 
... 
GeoLocationLocale geoLocationLocale = existingLocales.get(id); 
geoLocationLocale.setLocale(geoLocationLocale.getLocale().trim()); 
 
long now = Calendar.getInstance().getTimeInMillis(); 
geoLocationLocale.setUpdatedAt(new Date(now)); 
entityManager.merge(geoLocationLocale); 
... 
entityManager.flush(); 
entityManager.getTransaction().commit(); 
entityManager.close(); 

在我的代码中,我成功更新了其他字段,例如上例中的 UpdatedAt 时间字段。但是,我无法从区域设置字段中删除尾随空格。如果我想将语言环境字段完全更改为其他内容,例如使用类似的内容,我可以......

geoLocationLocale.setLocale(new BigInteger(16, new Random()).toString(10)); 

这将更改区域设置值。我只是无法删除空白。有什么想法吗?

请您参考如下方法:

我们需要更多信息(例如实体和架构数据定义)。 检查它是否在 Schema 中使用 char 而不是 varchar。 如果它使用 char,它将具有相同的长度并附加空白。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!