Hibernate的基本操作数据库,增加,修改,删除,查询

首先要创建实体类 Student.java package star.july.a_session; public class Student { private int id; private String name; private String gender; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void…

hibernate使用sqlQuery查询mysql数据库时别名问题

错误如下(类似的可以参考): 2016-02-24 10:25:18,001 org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:233) "#" SQL Error: 0, SQLState: S0022 2016-02-24 10:25:18,001 org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:234) "#" Column 'ASSIGNEE_' not found. org.hibernate.exception.SQLGrammarException: could no…

hibernate和mybatis共存问题

hibernate和mybatis共存问题 因为公司最近的一个项目是基于别人的项目进行开发的,而别人的项目是用spring+springMVC+Hibernate框架编写的,而我们公司的用的框架是spring+springMVC+mybatis。而我们公司的人对Hibernate框架并不是太熟悉,再加上开发的时间周期短,所以我们决定使用hibernate和mybatis这两个框架。由于习惯了整合框架的模式,依照惯性思维以为两个持久化框是不可能共存的。其实不然…

hibernate 5.2.6新特性

概述 Hibernate ORM 5.2.6 发布了,Hibernate是一种Java语言下的对象关系映射解决方案。 它是使用GNU宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。 Hibernate ORM 5.2.6 发布不到一个月,网上关于Hibernate ORM 5.2.6 的资料甚少,这里我们只能借助官网的介绍来做一个简单的介绍Hibernate ORM Guide Hibernate领域模型: …

Hibernate框架的外键维护问题

外键维护当使用Hibernate框架处理多表关联问题时,会遇到外键维护问题!也就是对应于<many-to-one><set>标签中的inverse属性,该属性是用于指出是否不参与外键维护,默认值为false!举例说明,当把主键映射配置文件中set标签的inverse属性设置为true时,主键所对应的对象就不参与外键维护,也就是说主键不会执行update语句,用于维护外键!SQL优化由于Hibernate并不知道每一句SQL语句的具体含义,它…

Hibernate分页可能引起的性能问题

 在使用Hibernate进行分页的过程中,如果你收到如下警告,那么这里就是一个潜在的性能问题点:WARNING: firstResult/maxResults specified with collection fetch; applying in memory!  出现这个警告的直接后果是:无论你想要看第几页的数据,从Hibernate打印出的SQL来看它总是查询了所有满足条件的结果。这是为什么呢?来看看这句警告所在的代码,它位于org.hibernate.hql.ast.QueryTranslatorImpl…

Hibernate配置多个外键做联合主键

项目中的vipInfo--cart---cartItem 三个表之间的关系如下vipInfo与cart的关系是一对一所以将它俩的关联表中的主键放在谁那都行。博主为了逻辑上的清晰,我将cart的cartId作为竟为cart表的主键,有为vipId外键,存在vipId的外键约束。因为每个用户都有一个购物车,但是购物车与购物车内的商品关系是m:n,所以这时候需要新建一个联系表cartItem(cartId,goodsId)现在这三个表之间的关系描述完毕:(vi…

MySQL\Hibernate\Java数据类型映射关系

类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java.lang.String 12   CHAR N CHAR java.lang.String 1   BLOB L+N BLOB java.lang.byte[] -4   TEXT 65535 VARCHAR java.lang.String -1               INTEGER 4 INTEGER UNSIGNED java.lang.Long 4   TINYINT 3 TINYINT UNSIGNED java.lang.Integer -6   SMALLINT 5 SMALLINT UNSIGNED java.lang.…

Hibernate中Blob对象类型的使用

       使用Intellij IDEA创建Hibernate项目,目录结构如下:        其中 assets/app.png 为将要存储的照片,src/hibernate.cfg.xml 为Hibernate的配置文件,Students为实体,Students.hbm.xml 为对象关系映射的配置文件,test目录下其中使用到的测试类为 StudentsTest 类,使用到junit进行测试。(其他两个与此次说明无关) hibernate.cfg.xml(使用mysql数据库中名为 hibernate的数据库) <?xml…

hibernate 执行原生SQL

public class VO{ private String buyerEmail,value,createDt; //setter & getter }   StringBuilder sql = new StringBuilder("select buyer_Email buyerEmail,value,createDt from t"); Query query = this.getCurrentSession().createSQLQuery(sql.toString()) .addScalar("buyerEmail",Hibernate.STRING) .addScalar("value",Hibernate.STRING) .addScalar("createDt", Hibernate.DATE) .set…

intellij idea 构建 基于spring springmvc hibernate的maven项目《一》

下载软件环境暂且不提 基本步骤如下 1.在intellij idea中创建project 填写工程名,包名 下面一直next知道finish。这样一个工程就建立了。 刚建立的工程目录结构如下 2.点击工程右键 Add Frameworks Support按如下选择spring springmvc hibernate 完成后,在file下面选择Project Structure,会提示没有找到依赖包,点击fix it ,会自动下载依赖包。 配置文件 或者 add frameworks support步骤省略,直…

Hibernate 联合查询如何输出

Hibernate主要支持两种查询方式:HQL查询和Criteria查询。前者应用较为广发,后者也只是调用封装好的接口。   现在有一个问题,就是实现多表连接查询,且查询结果集不与任何一个实体类对应,怎么解决呢?   举个例子:   现在有两个表,一个users用户表, 一个goods商品表,每个用户可以有多个商品,而一个商品只能对应一个用户。   users表中的字段:userId,userName,telephone,address   goods表中的…

一口一口吃掉Hibernate(三)——Hibernate给表和字段设置前后缀及分隔符

       在《一口一口吃掉Hibernate(一)——使用SchemaExport生成数据表》中介绍了如何生成数据表。但是这只是最基本的。Hibernate在生成或者操作数据库时,会受一些限制。比如一开始设计表的时候,直接写成了user(id,name,password,createTime)  这种格式的。但是客户后来要求表名称要以“t_”开头,字段名要以“stu_”开头,可以是一些数据库的关键字,单词之间以“_”隔开,方便他们维护.例如:T_User(stu…

hibernate中的核心接口及用法

一、Hibernate的接口分布图:   我先对该接口分布图进行一下讲解:    1.位于最底层的JNDI,JDBC和JTA是J2EE13个技术规范中的三个规范。      2.位于PersistenceLayer持久层的是Hibernate封装好的接口,用到时直接使用,不需要对其进行实现。      3.位于Business Layer业务逻辑层的Lifecycle,Validatable和Persistent Classes是与业务逻辑层进行打交道的。      其中Lifecycle接口和Validatable接口…

hibernate多表查询返回的集合映射成自定义对象

1、DAO public class ParamDao extends FoHibernateDaoSupport implements IParamDao { @Override public List<AgentMaxUserEntity> queryMaxUser() { String sql = "select d.aaa as aaa,d.bbb as bbb,d.ccc as ccc, " + " c.description as ddd,c.paramkey as eee" + " from " + " (select a.aaa,a.bbb,b.ccc " + " from table_a a,table_b b " + " where a.aaa = b.fff) d " + " left join t…