关于jpa persistence.xml配置问题
地狱咆哮者 2012-09-26 03:31:08 启动工程,报以下错误:
严重: Error configuring application listener of class com.ucayee.javaapp.pub.Mylistener
java.lang.ExceptionInInitializerError
at com.ucayee.javaapp.pub.SysProperty.load(SysProperty.java:70)
at com.ucayee.javaapp.pub.SysProperty.reload(SysProperty.java:112)
at com.ucayee.javaapp.pub.SysProperty.<clinit>(SysProperty.java:61)
at com.ecayee.util.InterUtil.<clinit>(InterUtil.java:9)
at com.ucayee.javaapp.pub.Mylistener.<init>(Mylistener.java:57)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3774)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: mySQLVOPU] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at com.ucayee.javaapp.pub.HUtil.<clinit>(HUtil.java:95)
... 26 more
Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
... 30 more
可能是方言的问题,但是我在配置文件找到了这句<non-jta-data-source>java:comp/env/jdbc/myDS</non-jta-data-source>,一查说是“这句// 设置数据库方言,默认去找tomcat数据源”那我错在哪呢
persistence.xml文件
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="mySQLVOPU" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>java:comp/env/jdbc/myDS</non-jta-data-source>
<class>com.ucayee.javaapp.vo.NewsPoint</class>
<class>com.ucayee.javaapp.vo.NewsComment</class>
<class>com.ucayee.javaapp.vo.MainKey</class>
<class>com.ucayee.javaapp.vo.NewsContenttitle</class>
<class>com.ucayee.javaapp.vo.NewsQuestion</class>
<class>com.ucayee.javaapp.vo.NewsNewsQuestion</class>
<class>com.ucayee.javaapp.vo.NewsNewsQuestionPK</class>
<class>com.ucayee.javaapp.vo.NewsBX</class>
<class>com.ucayee.javaapp.vo.NewsExtendsFirstchannel</class>
<class>com.ucayee.javaapp.vo.NewsExtendsChannelAds</class>
<class>com.ucayee.javaapp.vo.NewsExtendsFirstchannelButtons</class>
<class>com.ucayee.javaapp.vo.NewsExtendsFirstchannelChannels</class>
<class>com.ucayee.javaapp.vo.NewsExtendsChannel</class>
<class>com.ucayee.javaapp.vo.NewsExtendsChannelTitle</class>
<class>com.ucayee.javaapp.vo.NewsCatlog</class>
<class>com.ucayee.javaapp.vo.NewsCatlogPlatform</class>
<class>com.ucayee.javaapp.vo.NewsClientinfo</class>
<class>com.ucayee.javaapp.vo.NewsClientsoftupdaterule</class>
<class>com.ucayee.javaapp.vo.NewsClientsoftupdaterulePK</class>
<class>com.ucayee.javaapp.vo.NewsQuestionAnswer</class>
<class>com.ucayee.javaapp.vo.NewsResources</class>
<class>com.ucayee.javaapp.vo.NewsUserorder</class>
<class>com.ucayee.javaapp.vo.NewsMtvrule</class>
<class>com.ucayee.javaapp.vo.NewsContenttype</class>
<class>com.ucayee.javaapp.vo.NewsAds</class>
<class>com.ucayee.javaapp.vo.NewsButtons</class>
<class>com.ucayee.javaapp.vo.SongChannelsongs</class>
<class>com.ucayee.javaapp.vo.TUserChannels</class>
<class>com.ucayee.javaapp.vo.TApplicationContent</class>
<class>com.ucayee.javaapp.vo.TAreainfo</class>
<class>com.ucayee.javaapp.vo.TAuditcontents</class>
<class>com.ucayee.javaapp.vo.TChannels</class>
<class>com.ucayee.javaapp.vo.TChannelversions</class>
<class>com.ucayee.javaapp.vo.TContents</class>
<class>com.ucayee.javaapp.vo.TChannelcontents</class>
<class>com.ucayee.javaapp.vo.TEmployee</class>
<class>com.ucayee.javaapp.vo.TSysSysparam</class>
<class>com.ucayee.javaapp.vo.TSysAutoactivetimer</class>
<class>com.ucayee.javaapp.vo.Fordemo</class>
<class>com.ucayee.javaapp.vo.TMainmenus</class>
<class>com.ucayee.javaapp.vo.TMobileCompanyInfo</class>
<class>com.ucayee.javaapp.vo.TPhonenoseg</class>
<class>com.ucayee.javaapp.vo.TResources</class>
<class>com.ucayee.javaapp.vo.TRoles</class>
<class>com.ucayee.javaapp.vo.TServiceInfo</class>
<class>com.ucayee.javaapp.vo.TSpcode</class>
<class>com.ucayee.javaapp.vo.TSubmenus</class>
<class>com.ucayee.javaapp.vo.TTerminalInfo</class>
<class>com.ucayee.javaapp.vo.TUagroups</class>
<class>com.ucayee.javaapp.vo.TUaClass</class>
<class>com.ucayee.javaapp.vo.TGenre</class>
<class>com.ucayee.javaapp.vo.TUser</class>
<class>com.ucayee.javaapp.vo.TUserGroup</class>
<class>com.ucayee.javaapp.vo.TUseragents</class>
<class>com.ucayee.javaapp.vo.TVersionChannels</class>
<class>com.ucayee.javaapp.vo.TClientuser</class>
<class>com.ucayee.javaapp.vo.TAreainfo</class>
<class>com.ucayee.javaapp.vo.TUserOrder</class>
<class>com.ucayee.javaapp.vo.TSubject</class>
<class>com.ucayee.javaapp.vo.TSubjectResources</class>
<class>com.ucayee.javaapp.vo.TEbookContent</class>
<class>com.ucayee.javaapp.vo.TEbookSection</class>
<class>com.ucayee.javaapp.vo.TEbookResource</class>
<class>com.ucayee.javaapp.vo.TChannelEbook</class>
<class>com.ucayee.javaapp.vo.TResourcedelete</class>
<class>com.ucayee.javaapp.vo.SongAlbums</class>
<class>com.ucayee.javaapp.vo.SongAlbumsongs</class>
<class>com.ucayee.javaapp.vo.SongArtistalbums</class>
<class>com.ucayee.javaapp.vo.SongArtists</class>
<class>com.ucayee.javaapp.vo.SongPublishers</class>
<class>com.ucayee.javaapp.vo.SongRbtSong</class>
<class>com.ucayee.javaapp.vo.SongRbtsongs</class>
<class>com.ucayee.javaapp.vo.SongRingtones</class>
<class>com.ucayee.javaapp.vo.SongSongs</class>
<class>com.ucayee.javaapp.vo.SongSpsongs</class>
<class>com.ucayee.javaapp.vo.SongTerritoryclearances</class>
<class>com.ucayee.javaapp.vo.SongToneSong</class>
<class>com.ucayee.javaapp.vo.VideoAuditinfo</class>
<class>com.ucayee.javaapp.vo.VideoContentinfo</class>
<class>com.ucayee.javaapp.vo.VideoResource</class>
<class>com.ucayee.javaapp.vo.NewsSystempopumsg</class>
<class>com.ucayee.javaapp.vo.TWeatherdetail</class>
<class>com.ucayee.javaapp.vo.NewsAccesslog</class>
<class>com.ucayee.javaapp.vo.NewsTjMenber</class>
<class>com.ucayee.javaapp.vo.NewsTjMenberPK</class>
<class>com.ucayee.javaapp.vo.ClientComments</class>
<class>com.ucayee.javaapp.vo.NewsBlacklist</class>
<class>com.ucayee.javaapp.vo.NewsPlatforminfo</class>
<class>com.ucayee.javaapp.vo.NewsGroup</class>
<class>com.ucayee.javaapp.vo.NewsGroupuserset</class>
<class>com.ucayee.javaapp.vo.NewsUserupload</class>
<class>com.ucayee.javaapp.vo.NewsClientcontrol</class>
<class>com.ucayee.javaapp.vo.NewsClientcontrolone</class>
<class>com.ucayee.javaapp.vo.NewsRssChannelPK</class>
<class>com.ucayee.javaapp.vo.NewsRssChannel</class>
<class>com.ucayee.javaapp.vo.TDeviceExtend</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
</persistence-unit>
</persistence>