hibernate
zhengbo0
这个作者很懒,什么都没留下…
展开
-
getHibernateTemplate
一、find(String queryString); 示例:this.getHibernateTemplate().find("from bean.User"); 返回所有User对象 二、find(String queryString , Object value); 示例:this.getHibernateTemplate().find("from转载 2012-11-11 00:07:27 · 404 阅读 · 0 评论 -
Hibernate 插入对象到数据库的同时返回该对象在数据库中生成的ID(自增)怎么做?
假设有个POJO类AB,对应数据库中的表A_B,有个该POJO类的对象ab,表A_B中有个主键ID,自增,不用插。现在要把ab插入数据库,同时获取ab.id,怎么做? 我只知道插入是this.getHibernateTemplate().save(ab); 我知道可以分两步,先插入,后查询,但感觉这样效率低,有更好的办法吗? this.getHibernateTemplate().save(转载 2013-04-15 18:16:59 · 2764 阅读 · 0 评论 -
ORA-01438: 值大于此列指定的允许精确度
比如定义为number(4,2),却要插入一个值200.12的话,就会出错啊,原因是number(p,s)的问题。 number(p,s),其中p表示该number的总长度,s为小数位。 如果s为负数,则会取相应位数的取整。 例如,如果number(4,-3),则数字1234的存储值为1000;如果number(4,-2),则数字1234的存储值为1200。 在对数据库表中的字段设定类型转载 2013-03-21 11:22:45 · 1744 阅读 · 0 评论 -
Hibernate连接Oracle并设置主键自增.
最近将项目的mysql数据库换成oracle, 第一次接触oracle, 真的好麻烦. 现在把一些要注意的问题写写来. 第一步: 创建数据库 oracle的安装就不说了, 要注意的是表和字段名最好的全部大写. 不然hibernate连接查询时会报"标识符无效"的错误. oracle里面设置主键自增需要用到sequence. 创建sequence的sql: CREATE SEQU转载 2013-03-20 14:09:11 · 899 阅读 · 0 评论 -
hibernate 主键生成策略介绍
“assigned” 主键由外部程序负责生成,在 save() 之前指定一个。 “hilo” 通过hi/lo 算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源。 “seqhilo” 与hilo 类似,通过hi/lo 算法实现的主键生成机制,需要数据库中的 Sequence,适用于支持 Sequence 的数据库,如Oracle。 “increment” 主键转载 2013-03-20 11:29:06 · 601 阅读 · 0 评论 -
Hibernate之deleted object would be re-saved by cascade异常
在hibernate 删除关联时会出现deleted object would be re-saved by cascade (remove deleted object from associations)的异常,现在网络上解决这个问题的,无非以下这几种 方法1 删除Set方的cascade:(缺点:子对象和父对象不能进行级联更新,没意义) 方法2 解决关联关系后,再删除转载 2012-11-23 17:50:43 · 503 阅读 · 0 评论 -
Hibernate中的query.setFirstResult(),query.setMaxResults(); .
一、query.scroll()和query.setFirstResult(),query.setMaxResults();这两种方法都可以取到一定范围内的数据,用来数据分页显示。那么两者区别,以及两者的效率如何? 答:1.scroll是用JDBC2.0的可滚动结果集实现;query.setMaxResults();query.setFirstResult()是数据库SQL语句实现。 2.转载 2012-11-26 10:18:38 · 1042 阅读 · 0 评论 -
懒加载异常:org.hibernate.LazyInitializationException: could not initialize proxy - no Session
Hibernate的Lazy初始化1:n关系时,必须保证是在同一个Session内部使用这个关系集合,不然Hiernate将抛出异常。 两种处理方法: 一、这是延时加载的问题,把有关联的所有pojo类,在hibernate.cfg.xml文件中。一般在many-to-one中,set标签内中设lazy="false" 。 二、用OpenSessionInViewFilter过滤器,注意hib转载 2012-11-20 10:31:39 · 525 阅读 · 0 评论 -
Hibernate HQL查询 分页查询 模糊查询 .
小记: Java代码 String hql="from WifiTTerminal where 1=1"; hql=hql+" and pws like '%'"+pws1+ "'%' and useStatus like '%'"+useStatus1+ "'%' and num like '%'"+num1+转载 2012-11-26 18:35:20 · 1134 阅读 · 0 评论 -
转:Could not commit Hibernate 问题,spring 事物 提交前session关闭问题
org.springframework.transaction.TransactionSystemException: Could not commit Hibernate transaction; nested exception is org.hibernate.TransactionException: Transaction not successfully started 最近在写操作转载 2012-11-12 15:24:10 · 4403 阅读 · 0 评论 -
Hibernate多对多双向关联(Annotation配置)
Role.java package com.many2many.bean; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence转载 2012-11-11 23:32:32 · 420 阅读 · 0 评论 -
使用Annotation编写Entity减少Spring,hibernate配置。
以前编写实体类Entity的时候,都需要配置映射文件.hbm.xml,同时需要在sessionFactory中配置映射文件或映射目录 使用annotation时需要将sessionFactory定义为: 【Entity】 文件映射 ...hbm.xml .... 或者 目录映射 classpath:/../转载 2012-11-11 23:31:22 · 535 阅读 · 0 评论 -
Hibernate 多对多双向关联
一、模型介绍 多个人(Person)对应多个地址(Address)。 一个人可对应多个地址,一个地址也可以对应多个人。 二、实体(省略getter、setter方法) public class Personnn_sx { private int personid转载 2012-11-11 20:48:18 · 438 阅读 · 0 评论 -
hibernate 关联映射:多对一(一对多)双向关联关系
1.数据表: orders:订单表 customer:客户表 orders: id int(4) orderno varchar(20) moeny decimal(10,2) customer_id int(4) customer: id int(4) name varchar(20) phone varchar(20) 2.pojo类 publi转载 2012-11-11 20:43:37 · 483 阅读 · 0 评论 -
JSR 303 - Bean Validation 介绍及最佳实践
关于 Bean Validation 在任何时候,当你要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情。应用程序必须通过某种手段来确保输入进来的数据从语义上来讲是正确的。在通常的情况下,应用程序是分层的,不同的层由不同的开发人员来完成。很多时候同样的数据验证逻辑会出现在不同的层,这样就会导致代码冗余和一些管理的问题,比如说语义的一致性等。为了避免这样的情况发生,最好是将验证逻转载 2014-09-01 15:55:09 · 539 阅读 · 0 评论