1.建立表 my_table
create table my_table
(
ID NUMBER(10) not null,
BUYER CHAR(20) not null,
MERCHANDISE VARCHAR2(50) not null,
QUANTITY LONG not null,
UNITPRICE NUMBER(10,2) not null,
TOTALPRICE NUMBER(20,4),
DESCRIPTION NVARCHAR2(1000),
PRIMARY KEY("ID")
)
2.建立一个序列 SEQUENCE
CREATE SEQUENCE my_table_id_seq
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
NOCACHE -- 不建缓冲区
3.为 my_table 表建立一个插入的触发器
create or replace trigger 触发器名字
before insert on mytable
for each row
begin
if (:new.id is null) then
select my_table_id_seq.nextval into :new.id from dual;
end if;
end;
4.这样就可以插入不带ID的记录了
insert into mytable(buyer,merchandise,quantity,unitprice)values("ABC","Product_ABC",200,10);
5.用spring 的hibernate 来操作自增长时如同操作 sqlserver 和mysql 一样方便了
<id name="id" type="long">
<column name="ID" />
<generator class="increment" />
</id>
------
本转载作者后记: 我目前做的公司商业系统,从mysql中移植到oracle,mysql 中用的是自增列,转到oracle后这方面没改居然没出问题,起初很纳闷,后来发现是很hibernate 的功劳
但目前还并不确定这样是否稳妥,因为之前确实没这么干过。。 望行业高手路过给与指点~
分享到:
相关推荐
但在MySQL这样的数据库中,应将其更改为`identity`,因为MySQL使用自动增长的ID字段作为主键。这样,Hibernate将根据数据库特性自动处理主键生成。 接下来,我们需要配置Spring以使用Hibernate。在`...
- **主键生成策略**:如自增长、分配值、序列等方式。 - **属性映射**:将Java类中的属性与数据库表中的字段进行一一对应。 ### 知识点六:Hibernate缓存机制 - **一级缓存**:每个Session都有自己的缓存,称为一...
在Java的ORM框架Hibernate4中,注解零配置是一种简化持久化对象(POJOs)映射的方法,它允许开发者避免使用XML配置文件,而是直接在Java类和属性上使用注解来描述数据库表和字段的映射关系。以下是关于Hibernate4...
本文将从给定的文件信息中生成相关知识点,包括语言和环境、数据库设计、J2EE技术点、Struts、Hibernate、Spring等。 语言和环境 本考试题目要求使用J2EE技术,环境要求Eclipse3.2和Oracle 9i。J2EE(Java 2 ...
6. **第三方库**:在编程语言层面,有许多库和框架提供了主键生成的功能,如Java的Hibernate或Spring框架,它们可以与数据库交互,自动处理主键生成。 使用"SQL主键产生器"工具的优点在于,它可以帮助开发者避免...
- **第一步**:创建数据库表,包括主键、序列或自动增长字段。 - **第二步**:向数据库表中添加测试数据,至少包含3条记录。 - **第三步**:使用 Eclipse 或 MyEclipse 创建 Web 工程,配置好所需的框架支持。 - **...
- 设置主键自增长或使用序列。 - 添加测试数据,每个表至少两条记录。 2. **项目初始化**: - 使用Eclipse/MyEclipse创建名为`WorkOrder`的Web项目。 - 添加所需的框架支持(如Struts2/SpringMVC、Spring、...
`identity`适用于支持自动增长字段的数据库(如SQL Server),`sequence`适用于支持序列的数据库(如Oracle),`native`则根据数据库类型选择合适的策略。 5. **Oracle字符串连接**:在Oracle SQL中,连接字符串的...
- 持久化是指将内存中的对象保存到磁盘上持久化存储介质的过程,Hibernate提供了一套完整的解决方案。 **5. 事务,并发** - 事务管理和并发控制是持久层框架的关键特性之一,Hibernate支持多种事务隔离级别和锁机制...
- 与Spring和Hibernate集成更加紧密。 #### 6. Hibernate与MyBatis的选择 - **Hibernate**: - 完全的对象关系映射解决方案。 - 自动处理SQL语句和结果集。 - 提供缓存机制和事务管理。 - **MyBatis**: - 半...
在当前高等教育领域,随着学分制的普及以及学生个性化学习需求的增长,如何高效、便捷地进行课程选择成为了一个亟待解决的问题。重庆三峡学院为了应对这一挑战,计划开发一套基于B/S(浏览器/服务器)模式的选课系统...
`book_id`为主键,自增长。 在Java代码层面,我们定义了一个`Book`实体类,用于映射数据库中的记录。实体类包含了`id`、`book_name`和`price`属性,以及对应的getter和setter方法。 然后,我们创建一个`...