Hibernate为Oracle自动创建表且主键自增
2011-03-21 22:56
357 查看
转自http://hua04104.javaeye.com/blog/669104
1.注意:实体类映射表字段时不要使用oralce关键字,否则不能映射成功。
2.步骤:
(1)往oralce里建一个sequence:
Sql代码
注:如果多个表要映射自增长主键,每个表要建一个sequence。
(2)model映射配置:
Xml代码
<
id
name
=
"id"
>
<
generator
class
=
"sequence"
>
<
param
name
=
"sequence"
>
seq_id_letter
</
param
>
</
generator
>
</
id
>
(3)Hibernate映射文件配置:
Xml代码
<
hibernate-configuration
>
<
session-factory
>
<
property
name
=
"hibernate.connection.driver_class"
>
oracle.jdbc.driver.OracleDriver
</
property
>
<
property
name
=
"hibernate.connection.url"
>
jdbc:oracle:thin:@localhost:1521:jf
</
property
>
<
property
name
=
"hibernate.connection.username"
>
jf
</
property
>
<
property
name
=
"hibernate.connection.password"
>
jf
</
property
>
<
property
name
=
"hibernate.dialect"
>
org.hibernate.dialect.OracleDialect
</
property
>
<
property
name
=
"hibernate.show_sql"
>
true
</
property
>
<
property
name
=
"hibernate.hbm2ddl.auto"
>
update
</
property
>
<
property
name
=
"hibernate.cache.provider_class"
>
org.hibernate.cache.HashtableCacheProvider
</
property
>
<
mapping
resource
=
"com/chinasoft/jfb/model/LetterInformation.hbm.xml"
/>
</
session-factory
>
</
hibernate-configuration
>
1.注意:实体类映射表字段时不要使用oralce关键字,否则不能映射成功。
2.步骤:
(1)往oralce里建一个sequence:
Sql代码
create sequence seq_id_supervision minvalue 1 start with 1 increment by 1
create sequence seq_id_supervision minvalue 1 start with 1 increment by 1
注:如果多个表要映射自增长主键,每个表要建一个sequence。
(2)model映射配置:
Xml代码
<
id
name
=
"id"
>
<
generator
class
=
"sequence"
>
<
param
name
=
"sequence"
>
seq_id_letter
</
param
>
</
generator
>
</
id
>
<id name="id"> <generator class="sequence"> <param name="sequence"> seq_id_letter </param> </generator> </id>
(3)Hibernate映射文件配置:
Xml代码
<
hibernate-configuration
>
<
session-factory
>
<
property
name
=
"hibernate.connection.driver_class"
>
oracle.jdbc.driver.OracleDriver
</
property
>
<
property
name
=
"hibernate.connection.url"
>
jdbc:oracle:thin:@localhost:1521:jf
</
property
>
<
property
name
=
"hibernate.connection.username"
>
jf
</
property
>
<
property
name
=
"hibernate.connection.password"
>
jf
</
property
>
<
property
name
=
"hibernate.dialect"
>
org.hibernate.dialect.OracleDialect
</
property
>
<
property
name
=
"hibernate.show_sql"
>
true
</
property
>
<
property
name
=
"hibernate.hbm2ddl.auto"
>
update
</
property
>
<
property
name
=
"hibernate.cache.provider_class"
>
org.hibernate.cache.HashtableCacheProvider
</
property
>
<
mapping
resource
=
"com/chinasoft/jfb/model/LetterInformation.hbm.xml"
/>
</
session-factory
>
</
hibernate-configuration
>
<hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class"> oracle.jdbc.driver.OracleDriver </property> <property name="hibernate.connection.url"> jdbc:oracle:thin:@localhost:1521:jf </property> <property name="hibernate.connection.username">jf</property> <property name="hibernate.connection.password">jf</property> <property name="hibernate.dialect"> org.hibernate.dialect.OracleDialect </property> <property name="hibernate.show_sql">true</property> <property name="hibernate.hbm2ddl.auto">update</property> <property name="hibernate.cache.provider_class"> org.hibernate.cache.HashtableCacheProvider </property> <mapping resource="com/chinasoft/jfb/model/LetterInformation.hbm.xml" /> </session-factory> </hibernate-configuration>
相关文章推荐
- oracle创建表,序列,触发器,自动生成唯一主键
- oracle增加主键列,创建序列,并自动根据序列设值,创建触发器。
- Oracle使用序列创建自增字段(主键自动增长)
- oracle的序列使用,创建、表中调用、主键自动生成
- oracle的序列使用,创建、表中调用、主键自动生成
- hibernate自动创建表出现表中已存在唯一关键字或者主键
- hibernate使用注解自动创建自增主键
- oracle 创建自动增加主键的表
- powerdesigner创建oracle 数据库表,设置表主键列为自动增长
- powerdesigner创建oracle 数据库表,设置表主键列为自动增长。 .
- oracle创建表,追加备注,添加主键,触发器,自动增长序列
- oracle 创建自动增加主键的表
- hibernate连接oracle,主键自动生成
- hibernate为何无法自动创建oracle 的表分析
- oracle 创建自动增加主键的表
- Oracle 创建自动增加主键的表
- Hibernate保存数据自动生成主键出现奇怪异常Duplicate entry '0' for key 1
- 使用Spring集成Hibernate配置,根据实体类自动创建表
- oracle 数据库无法自动创建snapshot
- Oracle创建主键自增表