使用hibernate和oracle时某字段比如id要自增,在配置文件中怎么设置?
在oracle中使用触发器bbb和序列aaa已经把id设置成自增了。测试了下,没问题。现在的问题是在xxx.hbm.xml的文件中关于id的那块怎么设置?补充下:本来这个...
在oracle中使用触发器bbb和序列aaa已经把id设置成自增了。测试了下,没问题。
现在的问题是在xxx.hbm.xml的文件中关于id的那块怎么设置?
补充下:本来这个例子程序是连接sql server 2000的我把它改成了oracle的,现在登陆没问题,就是插入有问题,我一插,在tomcat中就提示“SQL 命令未正确结束”,我是个新手,我是怀疑sql语句的问题,可我找不到具体的语句,找到了歌getHibernateTemplate().save(object);,我估计这就是最低层的语句了。所以我只能怀疑是id自增的问题。
原始id那块的代码如下(那是连接sql server 2000的):
<hibernate-mapping>
<class name="com.wy.form.DepartmentForm" table="tb_department">
<id name="id" type="java.lang.String">
<column name="id" />
<generator class="native"/>
</id>
。。。。。。。。
看看怎么去改一下。
我是新手,能力太弱,麻烦大家了!!!!!请给个具体代码。若是我提供的信息太少,请给我发消息。 展开
现在的问题是在xxx.hbm.xml的文件中关于id的那块怎么设置?
补充下:本来这个例子程序是连接sql server 2000的我把它改成了oracle的,现在登陆没问题,就是插入有问题,我一插,在tomcat中就提示“SQL 命令未正确结束”,我是个新手,我是怀疑sql语句的问题,可我找不到具体的语句,找到了歌getHibernateTemplate().save(object);,我估计这就是最低层的语句了。所以我只能怀疑是id自增的问题。
原始id那块的代码如下(那是连接sql server 2000的):
<hibernate-mapping>
<class name="com.wy.form.DepartmentForm" table="tb_department">
<id name="id" type="java.lang.String">
<column name="id" />
<generator class="native"/>
</id>
。。。。。。。。
看看怎么去改一下。
我是新手,能力太弱,麻烦大家了!!!!!请给个具体代码。若是我提供的信息太少,请给我发消息。 展开
展开全部
<id name="id" type="java.lang.String">
<column name="id" />
<generator class="native"/>
</id>
把 <generator class="native"/> 改为 <generator class="increment"/> 试试看
<column name="id" />
<generator class="native"/>
</id>
把 <generator class="native"/> 改为 <generator class="increment"/> 试试看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不要把ID设为主键,插入时用HQL实现,不要用getHibernateTemplate().save(object)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为hibernate的主键生成机制和数据库的触发器操作相同目标产生的错误
所以,
先删除触发器,修改主键的类型为int
<id name="id" type="java.lang.String">
<column name="id" />
<generator class="native"/>
</id>
修改为:
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="sequence"/>
</id>
所以,
先删除触发器,修改主键的类型为int
<id name="id" type="java.lang.String">
<column name="id" />
<generator class="native"/>
</id>
修改为:
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="sequence"/>
</id>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以先设置好 数据库里的关系 然后再在 程序里面 反映射一下 出来的配置文件都是 已经根据数据库关系设置好的 然后再去掉数据库的关系
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<id name="id" type="java.lang.String">
<column name="id" />
<generator class="native"/>
</id>
去掉type
<column name="id" />
<generator class="native"/>
</id>
去掉type
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询