hibernate问题易犯错误总结

本文针对初学者在使用Hibernate框架进行数据库操作时遇到的问题——HibernateSearch未启用进行了详细解析。通常此问题源于ORM配置文件中的设置不正确,例如实体类属性映射类型错误等。

对于初学者,当配置好ORM映射配置文件和Hibernate的核心配置文件后,测试用session处理数据库的时候,日志可能会出现如下问题:

Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.

一般这种情况要先从ORM配置文件中去查找,比如实体类的属性映射的类型,如属性是String,则配置文件一定要写成string小写格式,


Hibernate: select orderdetai0_.ID as ID, orderdetai0_.UUID as UUID, orderdetai0_.ORDER_NO as ORDER_NO, orderdetai0_.ORDER_ITEM_INDEX as ORDER_IT4_, orderdetai0_.MATERIAL as MATERIAL, orderdetai0_.ORDER_QTY as ORDER_QTY, orderdetai0_.SALES_UNIT as SALES_UNIT, orderdetai0_.DESCRIPTION as DESCRIPT8_, orderdetai0_.EACH_RATE as EACH_RATE, orderdetai0_.CUSTOMER_MATERIAL_NO as CUSTOME10_, orderdetai0_.ITEM_CATEGORY as ITEM_CA11_, orderdetai0_.PLANT as PLANT, orderdetai0_.PRICE as PRICE, orderdetai0_.CURRENCY as CURRENCY, orderdetai0_.PER as PER, orderdetai0_.SHIP_TO as SHIP_TO, orderdetai0_.BILL_TO as BILL_TO, orderdetai0_.PAYER_TO as PAYER_TO, orderdetai0_.CUST_REQUIRE_DATE as CUST_RE19_, orderdetai0_.SHIP_CODE as SHIP_CODE, orderdetai0_.CONDITION_TYPE as CONDITI21_, orderdetai0_.PO_NO as PO_NO, orderdetai0_.PO_ITEM as PO_ITEM, orderdetai0_.SHIP_TO_PO_NO as SHIP_TO24_, orderdetai0_.SHIP_TO_PO_ITEM as SHIP_TO25_, orderdetai0_.PRODUCTION_SITUATION as PRODUCT26_, orderdetai0_.SALES_USAGE_CATEGORY as SALES_U27_, orderdetai0_.INCO_TERMS1 as INCO_TE28_, orderdetai0_.INCO_TERMS2 as INCO_TE29_, orderdetai0_.PAYMENT_TERM as PAYMENT30_, orderdetai0_.TAX_CLASSIFFC as TAX_CLA31_, orderdetai0_.TAX_RATE as TAX_RATE, orderdetai0_.ITEM_PO_DATE as ITEM_PO33_, orderdetai0_.ITEM_NET_VALUE as ITEM_NE34_, orderdetai0_.ITEM_NOTE as ITEM_NOTE, orderdetai0_.REMARK as REMARK, orderdetai0_.SOLD_TO as SOLD_TO, orderdetai0_.REFERENCE_DOCUMENT_NO as REFEREN38_, orderdetai0_.CLOSE_DATE as CLOSE_DATE, orderdetai0_.ORDER_TYPE as ORDER_TYPE, orderdetai0_.REFER_ITEM_NO as REFER_I41_, orderdetai0_.REFER_NO as REFER_NO, orderdetai0_.REJECT_FOR_REASON as REJECT_43_, orderdetai0_.SAP_DESCRIPTION as SAP_DES44_, orderdetai0_.SHIPPING_QTY as SHIPPIN45_, orderdetai0_.OLD_SHIPPING_QTY as OLD_SHI46_, orderdetai0_.BASE_UNIT as BASE_UNIT, orderdetai0_.GROSS_DIE as GROSS_DIE, orderdetai0_.DEL_FLAG as DEL_FLAG, orderdetai0_.CREATED_BY_OA_ID as CREATED50_, orderdetai0_.UPDATED_BY_OA_ID as UPDATED51_, orderdetai0_.CREATED_TIME as CREATED52_, orderdetai0_.UPDATED_TIME as UPDATED53_, orderdetai0_.CREATED_BY_COMPANY as CREATED54_, orderdetai0_.CREATED_BY_FAB as CREATED55_, orderdetai0_.CREATED_BY_WORKCODE as CREATED56_, orderdetai0_.UPDATED_BY_WORKCODE as UPDATED57_, orderdetai0_.FOUNDARY_FAB as FOUNDAR58_, orderdetai0_.SHIP_FROM_FAB as SHIP_FR59_, orderdetai0_.CUST_PO_ITEM as CUST_PO60_, orderdetai0_.PART_NO as PART_NO, orderdetai0_.PAGE_DELIVERY_QTY as PAGE_DE62_, orderdetai0_.LABEL_FIELD_1 as LABEL_F63_, orderdetai0_.LABEL_FIELD_2 as LABEL_F64_ from CERP_OMS_ORDER_DETAIL orderdetai0_ where (orderdetai0_.DEL_FLAG=0 )and(orderdetai0_.ORDER_NO!='New' )and(orderdetai0_.CREATED_BY_COMPANY=? )and(exists(select order1_.ID from CERP_OMS_ORDER order1_ where (order1_.DEL_FLAG=0 )and(order1_.RELEASE_STATUS='Close' )and(orderdetai0_.ORDER_NO=order1_.ORDER_NO )and(orderdetai0_.CREATED_BY_COMPANY=order1_.CREATED_BY_COMPANY ))) order by (select o.createdTime from com.smec.apps.oms.orderContract.domain.Order o where o.orderNo=orderdetai0_.ORDER_NO and o.createdByCompany=orderdetai0_.CREATED_BY_COMPANY and o.delFlag=0 and o.releaseStatus='Close')desc ,)desc , LPAD(orderdetai0_.ORDER_ITEM_INDEX , 10 , '0')asc 10-20 13:16:26.928 WARN [JDBCExceptionReporter.java:57] SQL Error: 907, SQLState: 42000 10-20 13:16:26.928 ERROR [JDBCExceptionReporter.java:58] ORA-00907: 缺失右括号 10-20 13:16:26.929 WARN [JDBCExceptionReporter.java:57] SQL Error: 907, SQLState: 42000 10-20 13:16:26.929 ERROR [JDBCExceptionReporter.java:58] ORA-00907: 缺失右括号 10-20 13:16:26.930 ERROR [SearchOrderAction.java:87] Hibernate operation: Could not execute query; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00907: 缺失右括号 10-20 13:16:26.933 WARN [DefaultActionInvocation.java:265] No result defined for action com.smec.apps.oms.orderContract.action.SearchOrderAction and result null 10-20 13:16:28.573 WARN [DefaultActionInvocation.java:265] No result defined for action com.smec.apps.menu.action.MenuAction and result null String hql = "from " + OrderDetail.class.getName() + " orderDetail where orderDetail.delFlag= 0 and orderDetail.orderNo != 'New' "; String hqlCenter = " and exists (from " + Order.class.getName() + " orders where orders.delFlag= 0 and orders.releaseStatus = 'Close' " + " and orderDetail.orderNo = orders.orderNo and orderDetail.createdByCompany = orders.createdByCompany"; String hqlEnd = ") order by " + "(select o.createdTime from " + Order.class.getName() + " o where o.orderNo = orderDetail.orderNo " + "and o.createdByCompany = orderDetail.createdByCompany " + "and o.delFlag = 0 " + "and o.releaseStatus = 'Close') desc, ) desc, LPAD(orderDetail.itemIndex, 10, '0') asc";
最新发布
10-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值