我真的不知道还能做什么。我到处都找过了,但什么也找不到。任何人,拜托,救命..。
在反向工程文件中,我试图将我的一个表的主密钥生成器类更改为"identity“。在数据库(ms sql 2012)上,主键列被设置为identity,但hibernate将其解释为“已分配”,因此我试图纠正这个问题。
这就是我在反向工程xml文件中输入的内容:
<table name="TITLE">
<primary-key>
<generator class="identity"/>
<key-column name="id"/>
</primary-key>
</table>然而,<table>标记似乎没有被考虑在内。拜托,我做错什么了?我是不是遗漏了什么?
发布于 2015-03-16 09:15:24
我刚刚想明白了。您必须同时包含架构和目录。在我的例子中,目录是数据库名:
<table name="TITLE" catalog="hibernatetest" schema="dbo" class="Jeffery_jump">
<primary-key>
<generator class="identity"/>
<key-column name="id" property="version"/>
</primary-key>
</table>烦人的是根据官方的hibernate文档,模式和目录是可选的。干得好,冬眠。9~10成熟。
发布于 2016-12-26 22:46:28
由于数据库和JDBC驱动程序版本之间有许多不同,更普遍的解决方案是在org.hibernate.mapping.Table构造函数中放置一个断点,然后在调试器中运行Maven hibernate3:hbm2java,然后查看通过调用链传递的值,例如:
Table.<init>() line: 105
Mappings.addTable(String, String, String, String, boolean) line: 188
MappingsDatabaseCollector.addTable(String, String, String) line: 21 在我的例子中,我发现catalog和schema都是null。我的<table>标记被忽略了,直到我删除了catalog和schema属性。
https://stackoverflow.com/questions/29072392
复制相似问题