hibernate sql输出问题

2015-07-08 11:28:00,085 [DefaultQuartzScheduler_Worker-9] DEBUG [org.hibernate.hql.ast.AST] - --- SQL AST ---
-[SELECT] QueryNode: 'SELECT' querySpaces (hc_vm_expiremail_log)
+-[SELECT_CLAUSE] SelectClause: '{derived select clause}'
| +-[SELECT_EXPR] SelectExpressionImpl: 'vmexpireem0_.id as id32_'
| -[SQL_TOKEN] SqlFragment: 'vmexpireem0_.createTime as createTime32_, vmexpireem0_.mailId as mailId32_, vmexpireem0_.referenceId as referenc4_32_'
+-[FROM] FromClause: 'from' FromClause{level=1, fromElementCounter=1, fromElements=1, fromElementByClassAlias=[veel], fromElementByTableAlias=[vmexpireem0_], fromElementsByPath=[], collectionJoinFromElementsByPath=[], impliedElements=[]}
| -[FROM_FRAGMENT] FromElement: 'hc_vm_expiremail_log vmexpireem0_' FromElement{explicit,not a collection join,not a fetch join,fetch non-lazy properties,classAlias=veel,role=null,tableName=hc_vm_expiremail_log,tableAlias=vmexpireem0_,origin=null,colums={,className=com.hisoft.hscloud.vpdc.ops.entity.VmExpireEmailLog}}
-[WHERE] SqlNode: 'where'
-[AND] SqlNode: 'and'
+-[AND] SqlNode: 'and'
| +-[EQ] BinaryLogicOperatorNode: '='
| | +-[DOT] DotNode: 'vmexpireem0_.referenceId'
| | | +-[ALIAS_REF] IdentNode: 'vmexpireem0_.id'
| | | -[IDENT] IdentNode: 'referenceId'
| | -[NUM_INT] LiteralNode: '43'
| -[GT] BinaryLogicOperatorNode: '>'
| +-[DOT] DotNode: 'vmexpireem0_.createTime'
| | +-[ALIAS_REF] IdentNode: 'vmexpireem0_.id'
| | -[IDENT] IdentNode: 'createTime'
| -[QUOTED_STRING] LiteralNode: ''2015-05-15 17:13:15''
-[LT] BinaryLogicOperatorNode: '<'
+-[DOT] DotNode: 'vmexpireem0_.createTime'
| +-[ALIAS_REF] IdentNode: 'vmexpireem0_.id'
| -[IDENT] IdentNode: 'createTime'
-[QUOTED_STRING] LiteralNode: ''2015-07-08 11:28:00''

2015-07-08 11:28:00,085 [DefaultQuartzScheduler_Worker-9] DEBUG [org.hibernate.hql.ast.ErrorCounter] - throwQueryException() : no errors

控制台显示这样的信息是如何显示出来的

4个回答

在配置数据源之类的时候配置一下即可。。。好像有一个show_sql之类的参数,true即可

在配置数据源之类的时候配置一下即可。。。好像有一个show_sql之类的参数,true即可

百度 hibernate+版本号+显示sql语句

不是show_sql true
这个现实的是树形结构的,还带注释的。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
log4j 输出文件不打印hibernate sql语句?

log4j.properties 文件配置如下: log4j.rootLogger = INFO,stdout,logfile log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender log4j.appender.logfile.Encoding=UTF-8 log4j.appender.logfile.File=../logs/SASLog log4j.appender.logfile.DatePattern='.'yyyy-MM-dd log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - <%m>%n log4j.logger.org.hibernate.SQL=debug log4j.logger.org.hibernate.type=info

log4j没办法 输出hibernate的sql到日志文件~~~~~~

我的log4j.properties配置 ``` # path log4j.debug=false log4j.path.iacportal=./iacportal/ log4j.logger.org.hibernate.SQL=DEBUG log4j.logger.org.hibernate.type=TRACE log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE #INFO級別日志输出 log4j.rootLogger=INFO,A1 log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss,SSSS}] %m%n log4j.appender.A1.file=${log4j.path.iacportal}/log4j_app-INFO_V100.log #log4j.appender.A1.threshold=INFO log4j.appender.A1.DatePattern='-'yyyy-MM-dd ``` 反正我是什么级别的日志都输出了就是没有sql输出,不知道还有没有其他什么可以影响日志输出 求大神帮助

如何将Hibernate生成的SQL语句打印到日志文件?

我在目前的项目中有这样的问题,我用Eclipse调试程序,控制台的日志可以打印输出到一个日志文件中,但是在控制台中显示的Hibernate生成的SQL语句输出不到这个文件,请问这是为什么?以下是我项目的log4j配置文件: log4j.rootLogger=INFO, stdout,R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] %m - [%l]%n log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=simECDS.log log4j.appender.R.MaxFileSize=5120KB log4j.appender.R.MaxBackupIndex=20 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] %m - [%l]%n log4j.appender.R.Encoding=UTF-8 log4j.logger.org.hibernate=WARN log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN log4j.logger.org.hibernate.type=WARN log4j.logger.org.apache.commons=ERROR 请大家赐教,谢谢~~~

Hibernate 查看SQL语句

Hibernate 我通过?占位符传入的参数 通过控制台可到的SQL语句如下 SELECT COUNT(1) AS COUNT FROM SystemMenu WHERE 1 = 1 AND name = ? 我想看到它生成的全部SQL如果做到 有什么工具 或者需要配置哪些东西 可以看到它发送到数据库的SQL 比如要看到 SELECT COUNT(1) AS COUNT FROM SystemMenu WHERE 1 = 1 AND name = ‘张三’

ssh中spring的配置文件如何配置属性可以在控制台输出hibernate的sql语句?

ssh中spring的配置文件如何配置属性可以在控制台输出hibernate的sql语句? 谢谢 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://localhost:3306/abc"></property> <property name="username" value="root"></property> <property name="password" value="123"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>com/fff/dao/TZgxx.hbm.xml</value> <value>com/fff/dao/TGrgzxx.hbm.xml</value></list> </property> </bean>

hibernate 输出SQL问题

为什么我看到的输出都是类似这样 update USERS set acc=?, pwd=?, lvl=? where id=? 是编码问题么 怎么看不到具体的值

log4j日志问题:log日志只打印hibernate执行的sql语句,其他的不打印

将程序运行过程中执行的sql语句打印到指定的log文件中,但是只要sql语句。 我根据网上配置日志文件里面会有其他信息 ![图片说明](https://img-ask.csdn.net/upload/201707/26/1501067703_616474.png)

Java:Hibernate 调用了一次方法,sql语句打印了两次

Hibernate 调用了一次方法,sql语句打印了两次,已跟踪调试,确定只有一次调用。。。

Hibernate在那个方法里将HQL转成普通SQL语句并执行的?

Hibernate在那个方法里将HQL转成普通SQL语句并执行的? [b]问题补充:[/b] 小弟不才,根据各位的提示还是没能找到具体的转换方法在那里。 [b]问题补充:[/b] 昨天就是在研究这个类,我的修改如下。重编译后替换原来的class文件,运行程序看不到我加上去的打印。 private void generate(AST sqlAst) throws QueryException, RecognitionException { System.out.println("************generate begin"); if (this.sql == null) { SqlGenerator gen = new SqlGenerator(this.factory); gen.statement(sqlAst); System.out.println("--generate1"); System.out.println(gen.getSQL()); System.out.println("--generate2"); this.sql = gen.getSQL(); if (log.isDebugEnabled()) { log.debug("HQL: " + this.hql); log.debug("SQL: " + this.sql); } gen.getParseErrorHandler().throwQueryException(); } } [b]问题补充:[/b] 我写了个根据角色进行数据过滤的方法不能直接用的HQL上只能对原始的SQL语句加工,所以想得到Hibernate转换后的语句且在它进行查询之前将此语句加工,然后再让其执行 [b]问题补充:[/b] 我是新建一个项目在里面按hibernate里的结构建包名,然后把反编译后的类文件放到包下进行编译的。见附件图 [b]问题补充:[/b] 因为我的程序已经写好了,现要加入数据过滤的功能。只能这样改了。 想的太简单了是指hibernate并不是象我想的那样会输出个原始语句然后再执行吗?

hibernate中如何将问号输出到结果中?

现有hql: select id,CONCAT('para_status.action?id=',id) from tblParam group by id 这个HQL在mysql中可以执行,但是执行出来的结果变成了 select id,CONCAT('para_status.actionnullid=',id) from tblParam group by id 就是hql中的?变成了null.想问有什么办法让他不改变?难道只能用JDBC方式写?

新人求教~Hibernate查询结果乱码

我用了两种方式查同一个表的所有数据,一种是DBUtil+C3P0,还有一种是Hibernate。 c3p0-config.xml,hibernate.cfg.xml,数据库,表都指定了字符集为utf-8。 但是hibernate的查询结果为乱码而dbutil查询结果正常。 请问一下这是怎么回事? ![![图片说明](https://img-ask.csdn.net/upload/201611/13/1479022669_351266.jpg)图片说明](https://img-ask.csdn.net/upload/201611/13/1479022659_349992.jpg)

我hibernate.cfg.xml里配了<property name="format_sql">true</property>控制台怎么没输出表的信息?

我hibernate.cfg.xml里配了 <property name="show_sql">true</property> <property name="format_sql">true</property>控制台怎么没输出表的信息?只输出了 [img]http://dl.iteye.com/upload/attachment/424906/524b79e1-6f18-3dcc-bfe6-7a4aedfe2312.jpg[/img] 怎么回事哦?哪位知道? :cry:

struts2+spring+hibernate 实现读写分离问题

数据库动态切换类: ``` public class DynamicDataSource extends AbstractRoutingDataSource { @Override protected Object determineCurrentLookupKey() { System.out.println("===================切换数据源:" + DataSourceSwitcher.getDataSource()); return DataSourceSwitcher.getDataSource(); } @Override public Logger getParentLogger() throws SQLFeatureNotSupportedException { return null; } } ``` AOP切面类,设置数据源: ``` @Component @Aspect @Order(0) public class DataSourceAdvice { private static Logger logger = Logger.getLogger(DataSourceAdvice.class); @Before(("@annotation(com.lot.common.dataSource.DynamicDataSourceAnnotation)")) public void before(JoinPoint point) { try { // 获取数据源 String dataSource = getDataSource(point); // 设置数据源 logger.info("切换数据源到" + dataSource); DataSourceSwitcher.setDataSource(dataSource); } catch (Exception e) { logger.error("切换数据源失败..."); logger.error(StringHandleUtils.getExceptionInfo(e)); } } @After("@annotation(com.lot.common.dataSource.DynamicDataSourceAnnotation)") //后置通知 public void testAfter(JoinPoint point){ try { // 获取数据源 String dataSource = getDataSource(point); // 若数据源不是主库,则清空 if(!DataSourceSwitcher.DATA_SOURCE_MASTER.equals(dataSource)) { logger.error("删除数据源" + dataSource + "成功..."); DataSourceSwitcher.removeDataSource(); } } catch (Exception e) { logger.error("删除数据源失败..."); logger.error(StringHandleUtils.getExceptionInfo(e)); } } @SuppressWarnings("rawtypes") private String getDataSource(JoinPoint point) { String dataSource = DataSourceSwitcher.DATA_SOURCE_MASTER; try{ Class<?> className = point.getTarget().getClass(); String methodName = point.getSignature().getName(); Class[] argClass = ((MethodSignature)point.getSignature()).getParameterTypes(); Method method = className.getMethod(methodName, argClass); if (method.isAnnotationPresent(DynamicDataSourceAnnotation.class)) { DynamicDataSourceAnnotation annotation = method.getAnnotation(DynamicDataSourceAnnotation.class); dataSource = annotation.dataSource(); } }catch(Exception e) { logger.error("获取数据源失败..."); logger.error(StringHandleUtils.getExceptionInfo(e)); } return dataSource; } } ``` spring配置: ``` <!-- master --> <bean id="master" class="com.lot.common.dataSource.DataSource" parent="commC3p0"> <property name="driver" value="${master.datasource.driverClassName}" /> <property name="driverUrl" value="${master.datasource.url}" /> <property name="user" value="${master.datasource.username}"/> <property name="password" value="${master.datasource.password}"/> </bean> <!-- slave --> <bean id="slave" class="com.lot.common.dataSource.DataSource" parent="commC3p0"> <property name="driver" value="${slave.datasource.driverClassName}" /> <property name="driverUrl" value="${slave.datasource.url}" /> <property name="user" value="${slave.datasource.username}"/> <property name="password" value="${slave.datasource.password}"/> </bean> <!-- 配置动态数据源 --> <bean id="dataSource" class="com.lot.common.dataSource.DynamicDataSource"> <property name="defaultTargetDataSource" ref="master"></property> <property name="targetDataSources"> <map key-type="java.lang.Object"> <entry value-ref="master" key="master"></entry> <entry value-ref="slave" key="slave"></entry> </map> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> <prop key="hibernate.format_sql">${hibernate.format_sql}</prop> <prop key="hibernate.use_sql_comments">${hibernate.use_sql_comments}</prop> <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop> <prop key="hibernate.max_fetch_depth">${hibernate.max_fetch_depth}</prop> <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop> <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop> <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop> <prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}</prop> <prop key="hibernate.order_updates">${hibernate.order_updates}</prop> <prop key="hibernate.query.factory_class">${hibernate.query.factory_class}</prop> <prop key="hibernate.connection.isolation">${hibernate.connection.isolation}</prop> <!-- 解决与weblogic的冲突 --> <prop key="hibernate.query.factory_class">${hibernate.query.factory_class}</prop> <prop key="hibernate.jdbc.batch_size">0</prop> </props> </property> <property name="packagesToScan" value="com.entity"/> </bean> <!-- 定义事务管理器(声明式的事务) --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 注解方式配置事务 --> <aop:aspectj-autoproxy proxy-target-class="true" /> <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="false" /> ``` 数据源切换时在AOP之前执行了,导致数据源未切换。 ![图片说明](https://img-ask.csdn.net/upload/201701/16/1484535576_691899.png)

Hibernate查询打印出来不输数据库格式而是一堆数字,为什么,指定ID查询就正常

public void demo2(){ Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); Customer customer = session.get(Customer.class, 1l); // 发送SQL语句 System.out.println(customer); // System.out.println(customer.getCust_name()这个正常 tx.commit(); session.close(); } Hibernate: select customer0_.cust_id as cust_id1_0_0_, customer0_.cust_name as cust_nam2_0_0_, customer0_.cust_source as cust_sou3_0_0_, customer0_.cust_industry as cust_ind4_0_0_, customer0_.cust_level as cust_lev5_0_0_, customer0_.cust_phone as cust_pho6_0_0_, customer0_.cust_mobile as cust_mob7_0_0_ from cst_customer customer0_ where customer0_.cust_id=? com.itheima.hibernate.day01.Customer@12260d8d

SSH输出SQL语句???

action方法: dataList=iParamBiz.findIPList(); //主机开关 if (dataList.size() > 0){ oos = new ObjectOutputStream(new FileOutputStream("insideParam.data")); oos.writeObject(dataList); oos.close(); } biz方法: @SuppressWarnings("unchecked") public List findIPList(){ String hql="from SwInsideparam "; return baseBiz.getCommDao().dataList(hql); } 打印的SQL语句一二十条一样,可是只查一个表,而且这个表只有一个外键?????????

log4j输出sql语句,但输出结果太多我只想要sql信息,怎么配置

![图片说明](https://img-ask.csdn.net/upload/201609/20/1474372816_664657.png) 我只想要红线里的内容,结果不要 ,怎么配置那??

hibernate已发出sql语句 但是无数据插入 不知道Spring事务管理哪里有错

这个是我的applicationContext 配置文件 [code="XML"] <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /> </bean> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="save*" propagation="REQUIRED" /> <tx:method name="delete*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> <tx:method name="merge*" propagation="REQUIRED" /> <tx:method name="find*" propagation="REQUIRED" /> <tx:method name="get*" propagation="SUPPORTS" /> <tx:method name="search*" propagation="SUPPORTS" /> <tx:method name="show*" propagation="SUPPORTS" /> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="interceptorPointCuts" expression="execution(* dao.impl.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="interceptorPointCuts" /> </aop:config> <!--事务管理配置结束 --> <bean id="baseDAO" class="dao.BaseHibernateDAO"></bean> <bean id="roleDAO" class="dao.TbRoleDAO"></bean> </beans> [/code] TbPermissionDAO 也确实放在了 dao.impl中 下面是我测试用到的方法 [code="java"] public class TbPermissionDAOTest extends TestCase { // 权限管理 增加权限ok public void testSavePermission() { TbPermissionDAO permissionDAO = new TbPermissionDAO(); TbPermission permission = new TbPermission(); permission.setUri("n2"); permissionDAO.save(permission); } } [/code] 最后有输出语句 JUnit也显示正常。 Hibernate: insert into psoftee.tb_permission (uri) values (?) && 应该不是唯一键的问题, 因为我手动提交事务的话, 是可以插入数据的

hibernate中 load延迟加载失效

代码运行没有问题 但是延迟加载没有效果![图片说明](https://img-ask.csdn.net/upload/201803/17/1521299031_723795.png) 图片中是debug效果 输出c 这个语句还没有执行就已经打印了sql语句这个结果和get方法结果一模一样 延迟加载应该是使用时才打印sql语句然后和结果一起输出 求大神指点 <hibernate-mapping package="cn.itcast.domain" > <class name="Customer" table="cst_customer" lazy="true" > <id name="cust_id" > <generator class="increment"></generator> </id> <property name="cust_name" column="cust_name" ></property> <property name="cust_source" column="cust_source" ></property> <property name="cust_industry" column="cust_industry" ></property> <property name="cust_level" column="cust_level" ></property> <property name="cust_linkman" column="cust_linkman" ></property> <property name="cust_phone" column="cust_phone" ></property> <property name="cust_mobile" column="cust_mobile" ></property> </class> </hibernate-mapping> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql:///hibernate32</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">root</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.show_sql">true</property> <property name="hibernate.format_sql">true</property> <property name="hibernate.hbm2ddl.auto">update</property> <property name="hibernate.connection.isolation">4</property> <property name="hibernate.current_session_context_class">thread</property> <mapping resource="cn/itcast/domain/Customer.hbm.xml" /> </session-factory> </hibernate-configuration> @Test public void fun2(){ Session session = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); //---------------------------------------------------- Customer c = session.load(Customer.class, 2l); System.out.println(c); //---------------------------------------------------- tx.commit(); session.close(); }

sql如何实现分组查询

select top 1 * from goods where BTypeID =1 select top 1 * from goods where BTypeID =2 select top 1 * from goods where BTypeID =3 select top 1 * from goods where BTypeID =4 在以上的四条sql语句中,如何用一条sql语句实现分组查询,并且每组之查询一条数据,重新构成新的数据 等待中 [b]问题补充:[/b] 数据库是sql 2005 的 [b]问题补充:[/b] 只能查询出一条数据啊,我要的是 同一张表,有四种类别,类别的用BTypeID区分,然后每个类别只查询一条数据,并构成新的数据 [b]问题补充:[/b] select top 1 * from goods where BTypeID =1 union all select top 1 * from goods where BTypeID =2 union all select top 1 * from goods where BTypeID =3 union all select top 1 * from goods where BTypeID =4 BTypeID是外键,同时是另一张表的主键,以上有没有更简洁的方法啊 [b]问题补充:[/b] 我用struts2 + spring2.5 + hibernate3.2架构的,所以希望各位高手帮我把它能成 HQL 语句的形式,本人学习ssh还不是很熟悉,以后望各位多多指点。谢谢! [b]问题补充:[/b] select top 1 * from goods where BTypeID =1 select top 1 * from goods where BTypeID =2 select top 1 * from goods where BTypeID =3 select top 1 * from goods where BTypeID =4 SELECT * FROM goods g WHERE ID in(SELECT TOP 1 ID FROM goods y WHERE g.BTypeID = y.BTypeID) 这几条SQL语句中,上面的四条与下面的一条是等效的,但是现在我要把下面的一条改成 hql 的形式,请各位帮忙一下 另外,用后一条语句查询时用 public List<Goods> findPopular(){ Session session = this.getHibernateTemplate().getSessionFactory().openSession(); log.debug("finding top Popular Goods instances"); try { String sql = "SELECT * FROM goods g WHERE ID in(SELECT TOP 1 ID FROM goods WHERE g.BTypeID = BTypeID ORDER BY PutTime DESC) "; Query query = session.createSQLQuery(sql); //执行的是 sql 语句 List<Goods> list = query.list(); System.out.println(list.size()); return list; } catch (RuntimeException re) { log.error("find all failed;查询精品推荐查询出错", re); throw re; } } 可以查询出查到的记录数,但是在却获取不到 good 物品的对象来,也无法输出信息,请问各位是什么原因啊 这里关键是在sql语句,如果可以改成hql语句,问题应该就简单化了

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Intellij IDEA 实用插件安利

1. 前言从2020 年 JVM 生态报告解读 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

魂迁光刻,梦绕芯片,中芯国际终获ASML大型光刻机

据羊城晚报报道,近日中芯国际从荷兰进口的一台大型光刻机,顺利通过深圳出口加工区场站两道闸口进入厂区,中芯国际发表公告称该光刻机并非此前盛传的EUV光刻机,主要用于企业复工复产后的生产线扩容。 我们知道EUV主要用于7nm及以下制程的芯片制造,光刻机作为集成电路制造中最关键的设备,对芯片制作工艺有着决定性的影响,被誉为“超精密制造技术皇冠上的明珠”,根据之前中芯国际的公报,目...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

百度工程师,获利10万,判刑3年!

所有一夜暴富的方法都写在刑法中,但总有人心存侥幸。这些年互联网犯罪高发,一些工程师高技术犯罪更是引发关注。这两天,一个百度运维工程师的案例传遍朋友圈。1...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图2020年最新版(进大厂必备)

正确选择比瞎努力更重要!

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

实时更新:计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)

内容导航: 1、TIOBE排行榜 2、总榜(2020年6月份) 3、本月前三名 3.1、C 3.2、Java 3.3、Python 4、学习路线图 5、参考地址 1、TIOBE排行榜 TIOBE排行榜是根据全世界互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据。

立即提问
相关内容推荐