2016-03-12 2 views
0
persistenceUnit/Hibernate 
     Connection to persistenceUnit/Hibernate failed 
     Could not create connection to database server. Attempted reconnect 3 times 

У меня есть эта ошибка, и когда я иду в JPA консоль и запускать команды, я получаю это:настойчивость и Hibernate ошибки весной загрузки JPA

access denied for user 'root'@'localhost' (using password: YES) 

Несмотря на, я могу видеть мою базу данных в закладке базы данных в intellij. А также он создал entityclass.

Итак, почему у меня такие ошибки?

Он не создавал persistance.xml так я создал его и поместить в SRC/веб-инф

<persistence-unit name="persistenceUnit"> 
    <class>models.MovieEntity</class> 
    <properties> 
     <property name="eclipselink.jdbc.url" value="jdbc:mysql://localhost:3306/mysql"/> 
     <property name="eclipselink.jdbc.driver" value="com.mysql.jdbc.Driver"/> 
     <property name="eclipselink.jdbc.user"/> 
     <property name="eclipselink.jdbc.password"/> 
     <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/mysql"/> 
     <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/> 
     <property name="hibernate.connection.username"/> 
     <property name="hibernate.connection.password"/> 
     <property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost:3306/mysql"/> 
     <property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/> 
     <property name="openjpa.ConnectionUserName"/> 
     <property name="openjpa.ConnectionPassword"/> 
     <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/mysql"/> 
     <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/> 
     <property name="toplink.jdbc.user"/> 
     <property name="toplink.jdbc.password"/> 
    </properties> 
</persistence-unit> 

он генерировал эти строки, но Сона из них красные, ошибки. SAme пароль для всех, например?

Кроме того, я получаю эти ошибки:

ava.lang.RuntimeException: org.hibernate.AnnotationException: No identifier specified for entity: com.models.MovieEntity 
    at org.hibernate.cfg.InheritanceState.determineDefaultAccessType(InheritanceState.java:277) 
    at org.hibernate.cfg.InheritanceState.getElementsToProcess(InheritanceState.java:224) 
    at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:775) 
    at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3845) 
    at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3799) 
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1412) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1846) 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857) 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) 

моя сущность

@Entity 
@Table(name = "movie", schema = "mysql", catalog = "") 
public class MovieEntity { 
    private int id; 
    private String title; 
    private String actors; 

    @Basic 
    @Column(name = "id") 
    public int getId() { 
     return id; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 

    @Id 
    @Column(name = "Title") 
    public String getTitle() { 
     return title; 
    } 

    public void setTitle(String title) { 
     this.title = title; 
    } 

    @Basic 
    @Column(name = "Actors") 
    public String getActors() { 
     return actors; 
    } 

    public void setActors(String actors) { 
     this.actors = actors; 
    } 

    @Override 
    public boolean equals(Object o) { 
     if (this == o) return true; 
     if (o == null || getClass() != o.getClass()) return false; 

     MovieEntity that = (MovieEntity) o; 

     if (id != that.id) return false; 
     if (title != null ? !title.equals(that.title) : that.title != null) return false; 
     if (actors != null ? !actors.equals(that.actors) : that.actors != null) return false; 

     return true; 
    } 

    @Override 
    public int hashCode() { 
     int result = id; 
     result = 31 * result + (title != null ? title.hashCode() : 0); 
     result = 31 * result + (actors != null ? actors.hashCode() : 0); 
     return result; 
    } 
} 

класс сущностей дает ошибку нет каталога.

ответ

0

Посмотрите, что у вас есть имя пользователя и пароль пустые, теперь, вероятно, persistance.xml, который вы публикуете, был примером bat одной из ваших ошибок. access denied for user 'root'@'localhost' (using password: YES) следуйте за мной, чтобы посоветовать вам проверить, была ли ваша база данных настроена с паролем и использовать его (я не сумасшедший в стандартной установке без конфигурации на linux много раз у меня был пустой пароль). Затем я вижу, что у вас есть @Id по свойствам заголовка, когда, вероятно, ваш sql для генерации таблиц, этот идентификатор является основным ключом.

Я надеюсь, что это может вам помочь

+0

Мне нужен учебник, чтобы следить за тем, как я использую intellj. и я не могу заставить его работать. например, я добавляю конфигурационный файл hibernate к ресурсам byt, тогда файл jpa внутри metainf-ресурсов исчезает. Когда я добавляю его, спящий режим исчезает. Я не могу заставить его работать. Я использую консоль jpa и другую консоль, но оба они не работают. в моем файле persistance есть много имени пользователя, я не использую все их. –

+0

вы можете взять инициативу из моей ссылки на проекты с открытым исходным кодом: https://github.com/mrFlick72/socialDocumentLibrary/tree/master/user-documentlibrary-client. В этом проекте я использую Spring-данные, но в основном с весенней загрузкой yu может использовать аппликацию, свойства для прослушивания конфигурации в Practis вы можете настроить всю конфигурацию источника данных в application.properties/application.yml и удалите свой persistance.xml –

+0

, но я не могу видеть оттуда, например, при запуске, я выбираю Spring initializr для создания файла pom, это приятно? а затем добавление jpa и спящий режим из модулей. –

0
  • базы данных, кажется, отсутствует в строке соединения
  • Скорее всего, ваш объект не имеет поля с аннотацией @Id
+0

i pıut мое лицо, но есть @id. не так ли? –

0

Фактическая ошибка является:

No identifier specified for entity: com.models.MovieEntity 

Вы должны указать идентификатор в com.models.MovieEntity класс

@javax.persistence.Id 
private Long id; 
+0

private int id; у меня есть это. Я поместил свой код. вы можете посмотреть –

Смежные вопросы