hibernate的一个奇怪的问题~~。折腾很久了。

iter_zc 2006-04-14 09:19:22
今天用hibernate开发时遇到一个奇怪的事情:可以用hibernate从mysql中取出数据,但是无法插入和更新。奇怪的是hibernate能够产生正确的插入和更新的sql语句啊,但是数据库却显示不出数据,更但是数据库的自增列的序号却在增加。
真是奇怪。我做的都是最简单的save操作。请问高手,这是怎么回事
数据库结构如下
table test(
Id int auto_increment not null,
name varchar(10) not null,
primary key (Id)
)
test.hbm如下:
<id
column="Id",
name="id",
type="integer">
<generator class ="Identity">
</id>
<property
column="name",
name="name",
type="string"
not-null="true">
</property>
Test类的结构如下
class Test(
private integer id;
private String name;
setXXXXX()
GET XXX())

我觉得奇怪的地方是能够用hibernate读取数据,却不能插入数据,而且能够产生正确的sql语句。
希望有经验的人能帮忙,谢谢!
...全文
204 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
skycncomp 2006-04-24
  • 打赏
  • 举报
回复
上面的人都同意我替他们接分了

快点给分啊
CristinNa 2006-04-24
  • 打赏
  • 举报
回复
同意楼上的说法
xuelei81 2006-04-24
  • 打赏
  • 举报
回复
应该是没有写事物。
stckiss 2006-04-20
  • 打赏
  • 举报
回复
楼主数据库的ID是否是自增型的?如果是就把,<generator class ="native">
下面的就按楼上的说的办,增加一个事务,然后commit
xiayh1002 2006-04-20
  • 打赏
  • 举报
回复
楼上的对了,应该是这样的
dlxu 2006-04-15
  • 打赏
  • 举报
回复
你没有控制Transaction,所以没有Commit数据了

你在你的代码前后加上Hibernate的Transaction控制部分就应该好了
series 2006-04-14
  • 打赏
  • 举报
回复
这说明你已经插入了数据,只不过数据是空,所以序列号会自动增加。检查插入的语句有没有save和commit.

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧