在hibernate中用sql语句

在hibernate中用sql语句,语句是createSQLquery 查出来的是,一列或者多列的数据,要将其转化为对象,有两种方式,

对于已经被hibernate所管理的实体类,在后面加.addentity 然后用花括号在sql语句中,select之后from之前,每一个{表名.*},就可以查询出对象。

对于数据传输的dto类,用setresulttransformer。然后在select之后 from之前,把列名和dto的属性名一一as起来。

百万级的数据存储,用外键关联会降低效率 可以选择用冗余字段,把多对一中一的关联对象属性放到多的属性中来,但是这样的话修改一处一的一方,要批量修改多的一方。

时间: 2024-11-07 20:03:43

在hibernate中用sql语句的相关文章

采用p6spy完整显示hibernate的SQL语句

虽然在hibernate中有show_sql选项,但是显示出来的语句大多类似 select * from xxx where value=? 但是有时候我们需要得到完整的SQL语句,怎么办呢?使用P6SPY就可以完成这个任务 p6spy是一个开源软件,它可以跟踪任何使用jdbc的应用产生的数据库操作.特别适合于监控ejb服务器产生的 sql statements.官方网址:http://www.p6spy.com/目前p6spy 适用的应用服务器包括jboss, atg, orion, jona

JAVA中用 SQL语句操作小结

1.添加记录(INSERT) 使用SQL语句的INSERT命令可以向数据库中插入记录,INSERT命令的基本形式为: INSERT INTO 表名 [(字段名1,字段名2-)] VALUES (值1,值2,-) 若在输入记录时,每个字段均有内容,可省略表名后的字段名. 该SQL语句用于将值1,值2--值n分别赋给字段1,字段2,--字段n, 并为表增加一条记录.在使用该命令时要注意下面两个规则: 插入的值必须和列一一对应. 插入值的数据类型必须和对应列的数据类型相一致. 比如使用下面这个命令就可

打印hibernate的SQL语句的几种办法

摘要 使用hibernate时,我们常常需要查看hibernate实际提交到数据库的SQL及相关参数.这里提供几种方案,供大家在开发中使用. 使用hibernate-configuration 这也许是最简单的一种配置.我们只需要为hibernate配置一个参数,就可以在console中打印出SQL语句. 需要增加的仅仅是这个参数(其它参数略去): <hibernate-configuration>     <session-factory>         <propert

Hibernate 执行sql语句返回yntax error: syntax error, expect LPAREN, actual NOT not

hibernate自动创建表时提示 :  ERROR: sql injection violation, syntax error: syntax error, expect LPAREN, actual NOT not : 可是我把sql语句在sql客户端执行是Ok的 后来在一个博客的评论区找到了原因 原来改sql语句执行被druid配置的防火墙拦截了 将druid.filters属性中的wall去掉就好

关于SQLSERVER中用SQL语句查询的一些个人理解

作为一个编程菜鸟说真的很难有什么见解,也就是写给一些刚学习编程的人,希望能给他们一些帮助吧! SQLSERVER作为刚开始入门学习的数据库,SQL语句也并不算太难!说白了也就是建库,建表,建约束,对数据库表进行增删改查! 但是今天主要讲的是查询,最重要也是最难的一部分! 首先呢看这样一段代码: select DNAME as 区县,SNAME as 街道,hos_type.HTID as 户型,PRICE as 价格,CONTENTS as 描述,COPY as 备注 from hos_hous

关于hibernate执行sql语句后,进程不关闭的问题

写了一个简单的测试程序,就是java查询数据库的,后面发现了数据库查询结束后,进程一直不会结束,在调试的时候,发现生成了一个线程,是这个线程不关闭. /** * */ package com.test.mysql; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hi

Hibernate格式化sql语句实体类 BasicFormatterImpl 源码

package com.util; import java.util.HashSet; import java.util.LinkedList; import java.util.Set; import java.util.StringTokenizer; public class BasicFormatterImpl { private static final Set<String> BEGIN_CLAUSES = new HashSet<String>(); private

oracle中用SQL语句创建和管理表

表名和列名的命名规则: 必须以字母开头 必须在1-30个字符之间 只能包含A-Z,a-z,0-9,_,$,# 不能与用户定义的其它对象重名 不能使用ORACLE的保留字 创建前具备的条件: CREATE TABLE权限 建表时必须指定: 表名 列名,列的数据类型,最大长度 数据类型: varchar2(size) 变长字符型(最大长为4000字符) char(size)  定长字符型(最大2000字符) number(p,s)  数值型 date   日期型 long   变长大字符型(最大2G

格式化Hibernate的SQL输出语句

在 applicationContent.xml 文件中加入以下程序代码,及可以Console中看到 hibernate 执行sql 语句 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">        <property name="driverClassName" value="com.mysql.jdbc.Driver&q