Hibernate EntityManager合并不更新空格更改

时间:2017-05-02 14:49:18

标签: java postgresql hibernate

我正在尝试使用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 time字段。但是,我无法从语言环境字段中删除尾随空格。我可以,如果我想将语言环境字段完全改为其他内容,例如使用类似的东西......

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

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

1 个答案:

答案 0 :(得分:1)

我们需要更多信息(ex Entity和Schema Data Definition)。 检查它是否在Schema中使用char而不是varchar。 如果它使用char,它将使用相同的长度附加空格。