Hibernate的生成器类真的无法正常工作吗?

4
在我和我的Eclipse苦苦挣扎数小时后,我希望你能在这里解答我的问题。希望在这里找到一些缓解。
我正在尝试通过Hibernate 3.0将一个pojo对象保存到MySQL数据库中。基本上我的要求是:在保存之前,我需要为对象分配id,而不是让Hibernate为我完成。
为此,我查阅了文档,并发现完全符合我的需求。因此,我更新了.hbm.xml文件中的id标签如下:
<id name="id" type="int">
    <column name="ID" />
    <generator class="assigned" />
</id>

我的POJO对象完美地匹配了.hbm.xml文件。
我设置了所有的参数,包括我的POJO对象的ID,并调用了Hibernate的saveOrUpdate(object)方法。
如果有帮助的话,我的数据库表中的ID列已禁用“自动增量”。
难以置信的是,当我查看数据库表的内容时,一行被插入了Hibernate自己的ID,而不是我设置的ID。
这是怎么可能的?是否还有其他影响ID的因素?我是否漏掉了什么?有什么解决方法?
我的hibernate.properties如下(如果有帮助):
hibernate.connection.driver_class =com.mysql.jdbc.Driver
hibernate.dialect =org.hibernate.dialect.MySQLDialect
hibernate.connection.url =jdbc:mysql://localhost/dbdbdbdbdb
hibernate.connection.username=root
hibernate.connection.password=password
hibernate.connection.pool_size=10
jdbc.batch_size=30
hibernate.show_sql=true
hibernate.current_session_context_class=true
hibernate.hbm2ddl.auto=validate
hibernate.cglib.use_reflection_optimizer=false
hibernate.generate_statistics=true
hibernate.cache.use_query_cache=true
hibernate.cache.region.factory_class=net.sf.ehcache.hibernate.EhCacheRegionFactory

Java社区正在消亡吗?迄今为止只有6个浏览量。:( - pavanlimo
@pavanlimo:提示:声称某个(广泛使用的)库或其功能根本“不起作用”很可能不会引起太多关注(或回答)。询问为什么它对你不起作用可能会更受欢迎。 - Joachim Sauer
由于问题已被证明是错误的(正如您在下面发布的),现在试图解决您(不存在的)问题的人只会浪费时间。 - Joachim Sauer
我认为他们(人们)会像我一样尝试谷歌搜索,只是在来到这个页面后才意识到问题可能出在他们的IDE上。我认为我们在这里很严格:)。然而,如果你们五个人都认为这个问题“模糊不清”,那就继续关闭它吧。 - pavanlimo
@pavanlimo:请不要误解这是对你的攻击。这个问题表述得很清楚,也很好呈现。只是问题中的信息最终与解决方案(确保Tomcat使用源代码的最新版本)无关。因此,它是具有误导性的,不能在当前的论坛中回答。 - Joachim Sauer
不,先生。我正在与 Stack Overflow 的精神交谈。就像您一样。绝对与“我”无关。 :) - pavanlimo
2个回答

1

好的,虚假警报!实际上是与Eclipse-Tomcat集成有关的问题。在hbm文件生效之前,我必须清理Tomcat目录并重新发布。

提示:如果您在Eclipse中运行ant,请确保不时刷新Eclipse工作区。有些事情需要通过艰难的方式学习。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接