mdsk.net
当前位置:首页 >> hiBErnAtE+orAClE使用序列作为主键的问题 >>

hiBErnAtE+orAClE使用序列作为主键的问题

我刚学完hibernate的hql的连接查询,马上准备学策略了,我可以告诉你hql虽然查询的时候是将其转换成了sql在数据库里查询,但是我们老师说的hibernate做了很多优化的工作,不要以为要转换成sql就会影响性能什么的,hql的查询效率不会比sql低的,当然如果你是一个数据库高手,做了sql的优化很好,这就另当别论了,不知道我的回答是不是你想要知道的.

ya178帮帮团:hibernate用的sequence就是指定的oracle的sequence.你仔细看看配置就知道了!

执行完这句sql语句select CLASS_ID_SEQ.nextval from dual之后,class这个对象已经执行过setId方法,所以当前它的id值可以获得getId方法得到;可以直接在在action这样写Long id=class.getId();

你可以在Oracle里创建一个序列,在反向工程的时候不要选active,选择sequence,然后在hbm.xml文件里这样写序列名

如果序列就是主键的话,那么给你的表新建一个触发器,当插入的时候将下一个序列填入主键即可.这样就不用管POJO了.一般都是这么做的,方便.

Oracle数据库索引和SQLServer的阐述 Oracle常见表结构 oracle数据库约束条件删除、取消、启用 在很多情况下,我们使用Hibernate在已经建立好数据库的基础上.在

为表创建自增长自段有两种,一种是不同的表使用各自的Sequence,方法如下:1、在Oracle sequence首先创建sequencecreate sequence seq_id minvalue 1 start with 1 increment by 1 cache 20; 2.在你的hbm.xml中的配置seq_idparam>

用Hibernate的话,出现这个错误,应该是你的oid没有设置对,我们在用hibernate的时候,通常用native比较多,他可以自动选择适合你当前使用的数据库的ID生成方式,还有就是,如果不清楚表之间的关系,最好是使用自动建表,方便快捷

用Number(38)就可以吧,主键用Long会很慢!至于Hibernate可以这些配置实体类@Entity@javax.persistence.SequenceGenerator(name = "SEQ_SCHEME", sequenceName = "SEQ_SCHEME", allocationSize = 1)@Table(name = "USER

用mysql最简单了

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com