2011-06-17 18 views
1

JPA/Hibernateを使用してデータベース(jiraデータベース)をマップしようとしています。 が、私は(私は別のデータベースで同じ設定を試してみましたが、それは働いています)!!ことをやるときにエラーがoccure マイcofigurationファイル:データベースをマップする(永続化する)ときにエラーが発生する

のpersistence.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.0" 
    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_2_0.xsd"> 
    <persistence-unit name="JIRAKPIPU" transaction-type="RESOURCE_LOCAL"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <class>DTOJIRA.Portalpage</class> 
     <class>DTOJIRA.QrtzFiredTriggers</class> 
     <class>DTOJIRA.Jiraworkflows</class> 
     <class>DTOJIRA.Externalgadget</class> 
     <class>DTOJIRA.OsHistorystepPrev</class> 
     <class>DTOJIRA.Versioncontrol</class> 
     <class>DTOJIRA.CwdApplicationAddress</class> 
     <class>DTOJIRA.Oauthspconsumer</class> 
     <class>DTOJIRA.Label</class> 
     <class>DTOJIRA.Propertydata</class> 
     <class>DTOJIRA.ExternalEntities</class> 
     <class>DTOJIRA.Changeitem</class> 
     <class>DTOJIRA.Upgradehistory</class> 
     <class>DTOJIRA.Favouriteassociations</class> 
     <class>DTOJIRA.Jiraaction</class> 
     <class>DTOJIRA.Issuestatus</class> 
     <class>DTOJIRA.Priority</class> 
     <class>DTOJIRA.Serviceconfig</class> 
     <class>DTOJIRA.QrtzJobDetails</class> 
     <class>DTOJIRA.Permissionscheme</class> 
     <class>DTOJIRA.Userhistoryitem</class> 
     <class>DTOJIRA.Oauthconsumertoken</class> 
     <class>DTOJIRA.QrtzJobListeners</class> 
     <class>DTOJIRA.Fieldlayoutscheme</class> 
     <class>DTOJIRA.Jiraeventtype</class> 
     <class>DTOJIRA.Genericconfiguration</class> 
     <class>DTOJIRA.Searchrequest</class> 
     <class>DTOJIRA.Configurationcontext</class> 
     <class>DTOJIRA.Changegroup</class> 
     <class>DTOJIRA.Customfieldoption</class> 
     <class>DTOJIRA.Customfield</class> 
     <class>DTOJIRA.OsCurrentstepPrev</class> 
     <class>DTOJIRA.Userassociation</class> 
     <class>DTOJIRA.Remembermetoken</class> 
     <class>DTOJIRA.Userbase</class> 
     <class>DTOJIRA.Fieldconfigscheme</class> 
     <class>DTOJIRA.Jiraissue</class> 
     <class>DTOJIRA.CwdDirectoryOperation</class> 
     <class>DTOJIRA.Issuetypescreenscheme</class> 
     <class>DTOJIRA.Gadgetuserpreference</class> 
     <class>DTOJIRA.Filtersubscription</class> 
     <class>DTOJIRA.Optionconfiguration</class> 
     <class>DTOJIRA.Projectroleactor</class> 
     <class>DTOJIRA.Fieldscreen</class> 
     <class>DTOJIRA.Propertydate</class> 
     <class>DTOJIRA.Oauthsptoken</class> 
     <class>DTOJIRA.QrtzCronTriggers</class> 
     <class>DTOJIRA.Schemeissuesecuritylevels</class> 
     <class>DTOJIRA.Upgradeversionhistory</class> 
     <class>DTOJIRA.Projectversion</class> 
     <class>DTOJIRA.CwdDirectory</class> 
     <class>DTOJIRA.Fieldscreenlayoutitem</class> 
     <class>DTOJIRA.Fieldscreenschemeitem</class> 
     <class>DTOJIRA.Notificationscheme</class> 
     <class>DTOJIRA.Issuelinktype</class> 
     <class>DTOJIRA.OsWfentry</class> 
     <class>DTOJIRA.Fieldscreenscheme</class> 
     <class>DTOJIRA.Notification</class> 
     <class>DTOJIRA.Issuesecurityscheme</class> 
     <class>DTOJIRA.Schemeissuesecurities</class> 
     <class>DTOJIRA.Jiradraftworkflows</class> 
     <class>DTOJIRA.CwdApplication</class> 
     <class>DTOJIRA.Jiraperms</class> 
     <class>DTOJIRA.QrtzSimpleTriggers</class> 
     <class>DTOJIRA.Fieldscreentab</class> 
     <class>DTOJIRA.QrtzTriggers</class> 
     <class>DTOJIRA.Component</class> 
     <class>DTOJIRA.Issuelink</class> 
     <class>DTOJIRA.Trustedapp</class> 
     <class>DTOJIRA.Fileattachment</class> 
     <class>DTOJIRA.Propertydecimal</class> 
     <class>DTOJIRA.Propertystring</class> 
     <class>DTOJIRA.Avatar</class> 
     <class>DTOJIRA.Project</class> 
     <class>DTOJIRA.CwdUser</class> 
     <class>DTOJIRA.Membershipbase</class> 
     <class>DTOJIRA.CwdDirectoryAttribute</class> 
     <class>DTOJIRA.Workflowschemeentity</class> 
     <class>DTOJIRA.Notificationinstance</class> 
     <class>DTOJIRA.Fieldconfigschemeissuetype</class> 
     <class>DTOJIRA.Schemepermissions</class> 
     <class>DTOJIRA.Projectrole</class> 
     <class>DTOJIRA.Issuetype</class> 
     <class>DTOJIRA.Columnlayoutitem</class> 
     <class>DTOJIRA.Groupbase</class> 
     <class>DTOJIRA.Columnlayout</class> 
     <class>DTOJIRA.Mailserver</class> 
     <class>DTOJIRA.Sharepermissions</class> 
     <class>DTOJIRA.Propertyentry</class> 
     <class>DTOJIRA.Oauthconsumer</class> 
     <class>DTOJIRA.CwdMembership</class> 
     <class>DTOJIRA.SequenceValueItem</class> 
     <class>DTOJIRA.TrackbackPing</class> 
     <class>DTOJIRA.Fieldlayout</class> 
     <class>DTOJIRA.Customfieldvalue</class> 
     <class>DTOJIRA.Propertynumber</class> 
     <class>DTOJIRA.Workflowscheme</class> 
     <class>DTOJIRA.Listenerconfig</class> 
     <class>DTOJIRA.QrtzTriggerListeners</class> 
     <class>DTOJIRA.Portletconfiguration</class> 
     <class>DTOJIRA.Projectcategory</class> 
     <class>DTOJIRA.Fieldlayoutitem</class> 
     <class>DTOJIRA.Pluginversion</class> 
     <class>DTOJIRA.OsHistorystep</class> 
     <class>DTOJIRA.CwdGroup</class> 
     <class>DTOJIRA.CwdGroupAttributes</class> 
     <class>DTOJIRA.Fieldlayoutschemeassociation</class> 
     <class>DTOJIRA.Issuetypescreenschemeentity</class> 
     <class>DTOJIRA.Fieldconfiguration</class> 
     <class>DTOJIRA.Fieldlayoutschemeentity</class> 
     <class>DTOJIRA.Propertytext</class> 
     <class>DTOJIRA.OsCurrentstep</class> 
     <class>DTOJIRA.Resolution</class> 
     <class>DTOJIRA.QrtzCalendars</class> 
     <class>DTOJIRA.Worklog</class> 
     <class>DTOJIRA.Nodeassociation</class> 
     <class>DTOJIRA.CwdUserAttributes</class> 
     <exclude-unlisted-classes>false</exclude-unlisted-classes> 
     <properties> 
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jiradb" /> 
      <property name="javax.persistence.jdbc.password" value="root" /> 
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> 
      <property name="javax.persistence.jdbc.user" value="root" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

**hibernate.cfg.xml** 
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
     <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
     <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jiradb</property> 
     <property name="hibernate.connection.username">root</property> 
     <property name="hibernate.connection.password">root</property> 
    </session-factory> 
</hibernate-configuration> 

私のクラス読む:

public class JiraissueRead { 
    EntityManagerFactory emf = Persistence 
      .createEntityManagerFactory("JIRAKPIPU"); 
    EntityManager em = emf.createEntityManager(); 

    public JiraissueRead() { 
    } 

    public Jiraissue findKpi(Integer id) { 
     System.out.println("ttttttttttttttttttttttttttttttttt"); 

     try { 

      EntityTransaction entr = em.getTransaction(); 
      System.out.println("debut 1"); 
      entr.begin(); 
      entr.commit(); 
      System.out.println("debut 2"); 
      Jiraissue j = em.find(Jiraissue.class, id); 
      return j; 
     } catch (Exception e) { 
      System.out.println(e.getMessage()); 
     } finally { 
      em.close(); 
     } 
     return null; 
    } 
} 

メイン:

public static void main(String[] args) { 
    // TODO code application logic here 
    JiraissueRead jiraissue = new JiraissueRead(); 
    System.out.println("_______________"); 
    System.out.println(jiraissue.findKpi(10000)); 

} 

エラー

17 juin 2011 17:39:12 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findById => SELECT c FROM CwdUserAttributes c WHERE c.id = :id 
17 juin 2011 17:39:12 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findByUserId => SELECT c FROM CwdUserAttributes c WHERE c.userId = :userId 
17 juin 2011 17:39:12 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findByDirectoryId => SELECT c FROM CwdUserAttributes c WHERE c.directoryId = :directoryId 
17 juin 2011 17:39:12 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findByAttributeName => SELECT c FROM CwdUserAttributes c WHERE c.attributeName = :attributeName 
17 juin 2011 17:39:12 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findByAttributeValue => SELECT c FROM CwdUserAttributes c WHERE c.attributeValue = :attributeValue 
17 juin 2011 17:39:12 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findByLowerAttributeValue => SELECT c FROM CwdUserAttributes c WHERE c.lowerAttributeValue = :lowerAttributeValue 
17 juin 2011 17:39:12 org.hibernate.cfg.annotations.EntityBinder bindTable 
INFO: Bind entity DTOJIRA.CwdUserAttributes on table cwd_user_attributes 
17 juin 2011 17:39:12 org.hibernate.cfg.AnnotationConfiguration secondPassCompile 
INFO: Hibernate Validator not found: ignoring 
    17 juin 2011 17:39:12 org.hibernate.connection.UserSuppliedConnectionProvider configure 
ATTENTION: No connection properties specified - the user must supply JDBC connections 
Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: J IRAKPIPU] 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 DAOJIRA.JiraissueRead.<init>(JiraissueRead.java:16) 
at DAOJIRA.Main.main(Main.java:18) 
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) 
... 5 more 
Java Result: 1 

私は私のpersistence.xmlにhibernate.dialectを追加しているとエラーが変更された後、(エラーが、それはあまりにも長いです)エラーがある知っている:

INFO: Binding Named query: Nodeassociation.findAll => SELECT n FROM Nodeassociation n 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: Nodeassociation.findBySourceNodeId => SELECT n FROM  Nodeassociation n WHERE n.nodeassociationPK.sourceNodeId = :sourceNodeId 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: Nodeassociation.findBySourceNodeEntity => SELECT n FROM  Nodeassociation n WHERE n.nodeassociationPK.sourceNodeEntity = :sourceNodeEntity 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: Nodeassociation.findBySinkNodeId => SELECT n FROM Nodeassociation n WHERE n.nodeassociationPK.sinkNodeId = :sinkNodeId 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: Nodeassociation.findBySinkNodeEntity => SELECT n FROM Nodeassociation n WHERE n.nodeassociationPK.sinkNodeEntity = :sinkNodeEntity 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: Nodeassociation.findByAssociationType => SELECT n FROM Nodeassociation n WHERE n.nodeassociationPK.associationType = :associationType 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: Nodeassociation.findBySequence => SELECT n FROM Nodeassociation n WHERE n.sequence = :sequence 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.EntityBinder bindTable 
INFO: Bind entity DTOJIRA.Nodeassociation on table nodeassociation 
18 juin 2011 09:49:46 org.hibernate.cfg.AnnotationBinder bindClass 
INFO: Binding entity from annotated class: DTOJIRA.CwdUserAttributes 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findAll => SELECT c FROM CwdUserAttributes c 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findById => SELECT c FROM CwdUserAttributes c WHERE c.id = :id 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findByUserId => SELECT c FROM CwdUserAttributes c WHERE c.userId = :userId 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findByDirectoryId => SELECT c FROM CwdUserAttributes c WHERE c.directoryId = :directoryId 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findByAttributeName => SELECT c FROM CwdUserAttributes c WHERE c.attributeName = :attributeName 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findByAttributeValue => SELECT c FROM CwdUserAttributes c WHERE c.attributeValue = :attributeValue 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.QueryBinder bindQuery 
INFO: Binding Named query: CwdUserAttributes.findByLowerAttributeValue => SELECT c FROM CwdUserAttributes c WHERE c.lowerAttributeValue = :lowerAttributeValue 
18 juin 2011 09:49:46 org.hibernate.cfg.annotations.EntityBinder bindTable 
INFO: Bind entity DTOJIRA.CwdUserAttributes on table cwd_user_attributes 
18 juin 2011 09:49:46 org.hibernate.cfg.AnnotationConfiguration secondPassCompile 
INFO: Hibernate Validator not found: ignoring 
18 juin 2011 09:49:47 org.hibernate.connection.UserSuppliedConnectionProvider configure 
ATTENTION: No connection properties specified - the user must supply JDBC connections 
juin 2011 09:49:47 org.hibernate.dialect.Dialect <init> 
INFO: Using dialect: org.hibernate.dialect.MySQLDialect 
18 juin 2011 09:49:47 org.hibernate.transaction.TransactionFactoryFactory  buildTransactionFactory 
INFO: Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory 
18 juin 2011 09:49:47 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup 
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Automatic flush during beforeCompletion(): disabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Automatic session close at end of transaction: disabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Scrollable result sets: disabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: JDBC3 getGeneratedKeys(): disabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Connection release mode: auto 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Maximum outer join fetch depth: 2 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Default batch fetch size: 1 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Generate SQL with comments: disabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Order SQL updates by primary key: disabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Order SQL inserts for batching: disabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory 
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 
18 juin 2011 09:49:47 org.hibernate.hql.ast.ASTQueryTranslatorFactory <init> 
INFO: Using ASTQueryTranslatorFactory 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Query language substitutions: {} 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: JPA-QL strict compliance: enabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Second-level cache: enabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Query cache: disabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory createCacheProvider 
INFO: Cache provider: org.hibernate.cache.NoCacheProvider 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Optimize cache for minimal puts: disabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Structured second-level cache entries: disabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Statistics: disabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Deleted entity synthetic identifier rollback: disabled 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Default entity-mode: pojo 
18 juin 2011 09:49:47 org.hibernate.cfg.SettingsFactory buildSettings 
INFO: Named query checking : enabled 
18 juin 2011 09:49:47 org.hibernate.impl.SessionFactoryImpl <init> 
INFO: building session factory 
18 juin 2011 09:49:47 org.hibernate.impl.SessionFactoryObjectFactory addInstance 
INFO: Not binding factory to JNDI, no JNDI name configured 
_______________ 
ttttttttttttttttttttttttttttttttt 
debut 1 
The user must supply a JDBC connection 
errrrrs 
++++++++++null 
BUILD SUCCESSFUL (total time: 5 seconds) 

答えて

3

JPAプロバイダとして使用する場合、Hibernate EntityManagerで使用される方言は、persistence.xmlファイルのプロパティとして次のように設定できます。

<persistence-unit> 
    <properties> 
     ... 
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> 
     ... 
    </properties> 
</persistence-unit> 

JPA 2.0プロバイダとして使用するためのHibernateの設定。

ドキュメントでは、JPAが使用されている環境でhibernate-cfg.xmlファイルは必要ありません。すべてのプロパティはpersistence.xmlファイルで指定することができ、これらはHibernateにネイティブなプロパティも含むことができます。

+0

お返事ありがとうございます。私は、persistence.xmlにhibernate.dialectを追加しました。エラーが変更されました。注意:接続プロパティが指定されていないため、ユーザーはJDBC接続を指定する必要があります。 org.hibernate.dialect.Dialect INF:Dialect:org .hibernate.dialect.MySQLDialect org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory org.hibernate.transaction.JDBCTransactionFactory INFO:JNDIに工場を結合しない、何のJNDI名はJDBC接続 を供給しなければならない ___Theのユーザーが ++ヌルをERRS設定されていません – rym

+0

@rym、更新persistence.xmlとhibernate.cfg.xmlファイルを見てみたいと思います。 –

+0

@rym、なぜhibernate-cfg.xmlとpersistence.xmlファイルが同時に必要なのかわかりません。私が答えて述べたように、persistence.xmlファイルのhibernate.dialectプロパティを設定することができます。使用するプロパティ名は "javax.persistence。*"スペースではないため、該当する場合は選択されます。 hibernate-cfg.xmlファイルを削除するのは安全だと思いますが、これは目的を果たさないためです。 –

関連する問題