Oracle通过Hibernate映射xml问题!?

xiaomaha 2008-04-23 07:21:08
使用的数据库:Oracle9i


create table person
(
p_id int primary key,
p_name varchar(20)
);

create sequence count increment by 1 start with 9999



请问为什么我使用Hibernate ID设置为sequence ,自动生成xml文件出现错误?
An internal error occurred during:"Generating Artifacts".

用MySQL就没问题,主要它主键增长使用auto_increment;
为什么Oracle没设置自动增长也会出错?

手动写了一个配置文件还是无发和数据库关联

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="com.xiaomaha.jopo">
<class name="Person" table="person">
<id name="p_id" column="p_id">
<generator class="sequence"></generator>
</id>
<property name="p_name" column="p_name"></property>
</class>
</hibernate-mapping>


jopo类

package com.xiaomaha.jopo;

public class Person {
private int p_id;

private String p_name;

public int getP_id() {
return p_id;
}

public void setP_id(int p_id) {
this.p_id = p_id;
}

public String getP_name() {
return p_name;
}

public void setP_name(String p_name) {
this.p_name = p_name;
}
}



Oracle中在配置文件里到底如何设置让主键自动增长?

对不起分不够咯!!!
...全文
91 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaomaha 2008-04-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 caoyinghui1986 的回复:]
<id name="p_id" column="p_id">
<generator class="sequence"> </generator>
</id>

改成:
<id name="p_id" column="p_id">
<generator class="sequence">
<param name="sequence">你底层数据库的序列名(count) </param> </generator>

</id>
[/Quote]

谢谢你说的是对的!
Shine_Panda 2008-04-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 kokobox 的回复:]
小马哈,换成下面的xml 试一试。

XML code
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="com.xiaomaha.jopo">
<class name="Person" table="person">
<id name="p_id" column="p_id">
<<generator class="increme…
[/Quote]
这个好象与序列无关把。
kokobox 2008-04-23
  • 打赏
  • 举报
回复
上面的多了一个“<”,没注意,下面的是好的:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="com.xiaomaha.jopo">
<class name="Person" table="person">
<id name="p_id" column="p_id">
<generator class="increment"/>
</id>
<property name="p_name" column="p_name"></property>
</class>
</hibernate-mapping>


Shine_Panda 2008-04-23
  • 打赏
  • 举报
回复
<id name="p_id" column="p_id">
<generator class="sequence"></generator>
</id>

改成:
<id name="p_id" column="p_id">
<generator class="sequence">
<param name="sequence">你底层数据库的序列名(count) </param> </generator>

</id>
kokobox 2008-04-23
  • 打赏
  • 举报
回复
小马哈,换成下面的xml 试一试。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping package="com.xiaomaha.jopo">
<class name="Person" table="person">
<id name="p_id" column="p_id">
<<generator class="increment"/>
</id>
<property name="p_name" column="p_name"></property>
</class>
</hibernate-mapping>

kokobox 2008-04-23
  • 打赏
  • 举报
回复
小马哈又是你的帖子o(∩_∩)o...

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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