av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

java - 為什么hibernate查詢表集報錯?

瀏覽:173日期:2024-01-09 13:11:04

問題描述

import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import qiye.Impl.ServiceDaoImpl;import qiye.entity.Contact;import qiye.entity.Service;public class TestJava { private static SessionFactory sessionFactory; static{Configuration configuraction = new Configuration().configure();sessionFactory = configuraction.buildSessionFactory(); } public static Session getSession(){return sessionFactory.openSession(); } public static List<Contact> getContactList(){Session s = null;List<Contact> list = null;try{ s = TestJava.getSession(); Query query = s.createQuery('from Service'); list = query.list(); for(Contact contact : list){System.out.println(contact.getAddress()); }}catch(Exception e){ e.printStackTrace();}finally{ if(s!=null){ s.close(); }}return list; }public static void main(String[] arg){TestJava.getContactList();System.out.println('hello'); }}

報錯信息:

三月 29, 2017 4:49:54 下午 org.hibernate.Version logVersionINFO: HHH000412: Hibernate Core {5.2.7.Final}三月 29, 2017 4:49:54 下午 org.hibernate.cfg.Environment <clinit>INFO: HHH000206: hibernate.properties not found三月 29, 2017 4:49:54 下午 org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}三月 29, 2017 4:49:54 下午 org.hibernate.boot.jaxb.internal.stax.LocalXmlResourceResolver resolveEntityWARN: HHH90000012: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/hibernate-mapping. Use namespace http://www.hibernate.org/dtd/hibernate-mapping instead. Support for obsolete DTD/XSD namespaces may be removed at any time.三月 29, 2017 4:49:55 下午 org.hibernate.boot.jaxb.internal.stax.LocalXmlResourceResolver resolveEntityWARN: HHH90000012: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/hibernate-mapping. Use namespace http://www.hibernate.org/dtd/hibernate-mapping instead. Support for obsolete DTD/XSD namespaces may be removed at any time.三月 29, 2017 4:49:55 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configureWARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)三月 29, 2017 4:49:55 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreatorINFO: HHH10001005: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/qiye?useUnicode=true&characterEncoding=UTF-8]三月 29, 2017 4:49:55 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreatorINFO: HHH10001001: Connection properties: {user=root, password=****}三月 29, 2017 4:49:55 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreatorINFO: HHH10001003: Autocommit mode: false三月 29, 2017 4:49:55 下午 org.hibernate.engine.jdbc.connections.internal.PooledConnections <init>INFO: HHH000115: Hibernate connection pool size: 20 (min=1)三月 29, 2017 4:49:55 下午 org.hibernate.dialect.Dialect <init>INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect三月 29, 2017 4:49:56 下午 org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnectionINFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@345c5f] for (non-JTA) DDL execution was not in auto-commit mode; the Connection ’local transaction’ will be committed and the Connection will be set into auto-commit mode.三月 29, 2017 4:49:56 下午 org.hibernate.hql.internal.QueryTranslatorFactoryInitiator initiateServiceINFO: HHH000397: Using ASTQueryTranslatorFactoryHibernate: selectservice0_.ID as ID1_1_,service0_.TITLE as TITLE2_1_ fromSERVICE service0_java.lang.ClassCastException: qiye.entity.Service cannot be cast to qiye.entity.Contact at TestJava.getContactList(TestJava.java:33) at TestJava.main(TestJava.java:47)hello

這是怎么回事啊?

問題解答

回答1:

List<Contact> list = null;

Query query = s.createQuery('from Service');list = query.list();

你的list里面是Contact,但是你查詢的是Service,類型不匹配造成的,如果你確認查詢的就是Service,改成List<Service>就行了

回答2:

集合泛型List<Contact>,在擦除之后就沒有類型了,因此,在這里定義的集合類型需要與結果類型一致,泛型之間不存在多態

標簽: java
相關文章:
主站蜘蛛池模板: 福利视频网| 国产精品久久久久久 | 在线国产视频 | 精品一区二区视频 | 欧美高清免费 | 亚洲国产精品99久久久久久久久 | 精精国产视频 | 成人精品一区 | 欧美一区二区三区在线看 | 在线成人av | 成人网在线观看 | 亚洲免费视频播放 | a级片网站 | 久久久久久久久久久久久久av | 国产乱码久久久久久 | 国产永久免费 | 伦理二区 | 色婷婷综合久久久中文字幕 | 在线国产一区二区三区 | 久久美女视频 | 日韩国产精品一区二区三区 | 国产一二三区电影 | 国产亚洲欧美在线 | 91爱啪啪 | 91大神在线资源观看无广告 | 亚洲一区精品在线 | 成人在线精品视频 | 色悠悠久 | 国产欧美精品 | 日韩中文视频 | 国产一区欧美一区 | 亚洲一区二区在线播放 | 欧美成人一区二区三区 | 国产精品亚洲综合 | 免费人成在线观看网站 | 亚洲一区二区在线免费观看 | 男女午夜免费视频 | 久久精品欧美一区二区三区不卡 | 久久精品国产免费一区二区三区 | 波多野吉衣在线播放 | 精品无码久久久久国产 |