2017-03-12 26 views
4

mysqlデータベースに接続しようとしていますが、動作していません。私はudemyからコースを取って、すべての手順を踏んだが、私はいつも同じエラーが発生している、その後私はthisthisガイドからの手順を踏んだが、動作しません。私がこれまで試したSpring-BootとMySqlが接続できません

もの:

  • 新しいIDE
  • クリーン&再構築application.properties
  • からプロパティspring.datasource.driverClassName = com.mysql.jdbc.Driverを削除するプロジェクト
  • は手動


のMysqlコネクタを追加しようとしました私はアイデアを使い果たしました。スタックトレース

2017-03-12 19:20:53.388 INFO 7808 --- [   main] org.hibernate.dialect.Dialect   : HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect 
2017-03-12 19:20:53.515 INFO 7808 --- [   main] o.h.e.j.e.i.LobCreatorBuilderImpl  : HHH000423: Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4 
2017-03-12 19:20:54.046 WARN 7808 --- [   main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory 
2017-03-12 19:20:54.061 INFO 7808 --- [   main] o.apache.catalina.core.StandardService : Stopping service Tomcat 
2017-03-12 19:20:54.106 INFO 7808 --- [   main] utoConfigurationReportLoggingInitializer : 

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. 
2017-03-12 19:20:54.130 ERROR 7808 --- [   main] o.s.boot.SpringApplication    : Application startup failed 

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628) ~[spring-beans-4.3.7.RELEASE.jar:4.3.7.RELEASE] 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans-4.3.7.RELEASE.jar:4.3.7.RELEASE] 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.7.RELEASE.jar:4.3.7.RELEASE] 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.7.RELEASE.jar:4.3.7.RELEASE] 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.7.RELEASE.jar:4.3.7.RELEASE] 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.7.RELEASE.jar:4.3.7.RELEASE] 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.7.RELEASE.jar:4.3.7.RELEASE] 
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1081) ~[spring-context-4.3.7.RELEASE.jar:4.3.7.RELEASE] 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:856) ~[spring-context-4.3.7.RELEASE.jar:4.3.7.RELEASE] 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542) ~[spring-context-4.3.7.RELEASE.jar:4.3.7.RELEASE] 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.5.RELEASE.jar:1.4.5.RELEASE] 
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:762) [spring-boot-1.4.5.RELEASE.jar:1.4.5.RELEASE] 
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:372) [spring-boot-1.4.5.RELEASE.jar:1.4.5.RELEASE] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) [spring-boot-1.4.5.RELEASE.jar:1.4.5.RELEASE] 

Packages in eclipse
Application.properties

のpom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.stopCozi</groupId> 
    <artifactId>stopCozi</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>StopCozi</name> 
    <description>Stop Cozi </description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.4.5.RELEASE</version> 
     <relativePath/> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 

     <!-- for HTML --> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-thymeleaf</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 

     <!-- Dependecy for database --> 


     <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-jdbc</artifactId> 
     </dependency> 

     <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-jpa</artifactId> 
     </dependency> 


     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-rest</artifactId> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

アップデートいくつかの援助を必要とします

ユーザエンティティ

@Entity 
public class User { 

    private String name; 
    private String surname; 
    private String password; 
    @Id 
    @GeneratedValue (strategy= GenerationType.AUTO) 
    private String userId; 
    private String email; 
    private String phoneNo; 
    private String PIN; 
    private List<Appointment> appointmentList; 
    public String getName() { 
     return name; 
    } 
    public void setName(String name) { 
     this.name = name; 
    } 
    //getter and setter 

UserDaoRepository

@RepositoryRestResource(collectionResourceRel = "user", path = "user") 
public interface UserDaoRepository extends JpaRepository<User, Long>{ 

    User findByName(@Param("name") String name); 
    User findByEmail(@Param("email") String email); 

} 
+0

は、それがすべての例外スタックトレースですか?根本的な原因はわかりません。 – davidxxx

+0

新しいエラーで更新してください。 – agata

答えて

2

あなたのMavenプロジェクトファイルにこれを追加してみてください:

<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>5.1.6</version> 
</dependency> 

あなたのapplication.propertiesファイルがちょうど春に何を言っています私たちにjpaプロバイダーe。それでもjdbcプロバイダー実装ファイルをインクルードする必要があります。

+0

そのエラーを取り除くのに役立ちます、ありがとう:)私はなぜ新しいエラーを得ているのか何か手がかり? Hibernate SessionFactoryをビルドできません。 (私は答えを探し始めるでしょう) – agata

1

あなたはこのフィールドのORM関連定義する必要があります。Userは、複数のAppointmentAppointmentが0または1 Userに関連している可能性が持っている可能性がある場合、あなたがAppointment関係を定義することができますたとえば

private List<Appointment> appointmentList; 

Userエンティティにおけるこのよう:

@Entity  
public class User{ 
    ... 
    @OneToMany(mappedBy="user") 
    private List<Appointment> appointmentList; 
} 

そして予定エンティティに、あなたがこの関係を定義することができ船:

@Entity  
public class Appointment{ 
    ... 
    @ManyToOne 
    private User user; 
... 
} 

他のマッピングエラーが発生した場合は、Hibernate/JPAの基本を理解することをお勧めします。

はここにHibernateの実際のドキュメントは(V 5)されています。ここhttp://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html

は、エンティティ間の関係の定義のドキュメントの一部です:

http://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#associations

+0

ありがとう:)それは働いた。 – agata

関連する問題