我尝试以下映射
@ElementCollection
private Map<String, Double> doubleValues;
但是当我从中生成我的模式时(使用Maven休眠:hbm2ddl),我收到以下错误:
org.hibernate.MappingException: Could not determine type for: java.util.Map, at table: ImagerAnalysisResult, for columns: [org.hibernate.mapping.Column(doubleValues)]
我尝试向其中添加列和类型信息,但我不断收到相同的错误。另外,我不认为应该给出信息,因为休眠应该使用通用声明(根据如何映射 Map https://stackoverflow.com/questions/3886797/how-to-map-a-mapstring-double/3887019).
我正在使用 hibernate 版本 3.6.4.Final 并且我尝试过其他版本
有什么建议么?谢谢。
编辑:maven hibernate 插件似乎已经有两年了,并且依赖于较旧的 hibernate 版本...为什么这个插件没有得到维护?
编辑:命名字段“doubleValues”以确保不存在保留名称问题。
“values”一词是 SQL 保留关键字,不能将其用作 SQL 中的标识符。如果您尝试将某些内容命名为“index”,也会出现同样的情况。如果您将名称更改为其他名称,它应该可以工作。
你知道:
insert into table values (...)
由于使用其他关键字,我过去在自动生成代码时也遇到过类似的问题。
顺便说一句,过去我用 Hibernate 3.6.2 和地图集合尝试了几个问题。你可能会喜欢看看这个答案 https://stackoverflow.com/questions/5580614/jpa-criteriabuilder-join-maps/5587957#5587957,因为你似乎正朝同一个方向前进。
我希望这有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)