Не создается таблица даных Hibernate MySql

134
13 декабря 2018, 00:40

Перепробовал разные методы. Ошибок подключения к базе вроде нет. Не пойму почему не создается таблица в базе. Помогите, что-то не так делаю, но не знаю что уже двое суток не могу решить эту проблему.

Вот результат:

Вот класс который должен записываться в таблицу

package main.java.com.Hibernate.msqlORM;
import javax.persistence.*;
import java.io.Serializable;
@Entity
@Table(name = "computerpatrs")
public class ComputerParts implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
   @Column(name="id")
    private int id;
    @Column(name = "name")
    private String name;
    @Column(name = "quantity")
    private int quantity;
    @Column(name = "assembly")
    private boolean assembly;
    public ComputerParts() {
    }
    public void setId(int id) {
        this.id = id;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setQuantity(int quantity) {
        this.quantity = quantity;
    }
      public int getId() {
        return id;
    }
    public String getName() {
        return name;
    }
    public int getQuantity() {
        return quantity;
    }
    public boolean isAssembly() {
        return assembly;
    }
}

вот клас работы с hibernate

package main.java.com.Hibernate.msqlORM;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
public class HibetnateUtil {
    private static SessionFactory sessionFactory = null;
    static {
        Configuration cfg = new Configuration().configure();
        StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
                .applySettings(cfg.getProperties());
        sessionFactory = cfg.buildSessionFactory(builder.build());
    }
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
    public static void shutdown() {
        getSessionFactory().close();
    }
}

Это Настройки

<class name="main.java.com.Hibernate.msqlORM.ComputerParts" 
  table="computerpatrs" catalog="mysql">
        <id name="id" column="id" type="java.lang.Integer">
            <generator class="native"/>
        </id>
        <property name="name" column="name" type="String"/>
        <property name="quantity" column="quantity" type="int"/>
        <property name="assembly" column="assembly" type="int"/>
    </class>
</hibernate-mapping>
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!--  Путь классу драйвер-->
        <property 
name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property 
name="connection.url">jdbc:mysql://localhost:3306</property>
        <property 
name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>
        <!-- Свойство отвечающее за генирацию базы данных
         vslidate - проверяет схему
         update -обновляет базу
         create - создает схему, уничтожая данные
         create - drop - уничтожает схему при закрытии SessionFactory
        u
         -->
        <property name="hbm2ddl.auto">create</property>
        <!--    свойства нужны для логирования SQL запросов -->
        <!--    показывать или не показывать SQL -->
        <property name="show_sql">true</property>
        <!--    позволяют форматировать и вываодить коментарии-->
        <property name="format_sql">true</property>
        <property name="use_sql_comments">false</property>
        <!-- DB schema will be updated if needed -->
        <!-- <property name="hbm2ddl.auto">update</property> -->
      <mapping resource="main/resources/com/Xml/comp.cfg.xml"/>
        <mapping class="main.java.com.Hibernate.msqlORM.ComputerParts"/>
    </session-factory>
</hibernate-configuration>
Answer 1

Неверно указана корневая папка с сурсами, соответственно неверный пакет для класса. Структура проекта maven использует папка /main/java для сурсов, и /main/resources для ресурсов.

Измените название пакета на

package com.Hibernate.msqlORM;

и поменяйте также мапинг класса

<mapping class="com.Hibernate.msqlORM.ComputerParts"/>

Если вы используете анотации, то зачем тогда надо маппить ресурсы? Используйте что-то одно, либо аннотации, либо ресурсы.

READ ALSO
Exoplayer повтор видео с общим TimeBar

Exoplayer повтор видео с общим TimeBar

Возможно ли соединить два(или больше) видео так, что бы они имели общий TimeBar(длина была в длину обеих видио, и пользователь мог менять позицию)В...

173
Парсинг таймзоны &#39;-030-6&#39;

Парсинг таймзоны '-030-6'

С js-клиента прилетает дата в виде: 1909-09-09T14:27:45000-030-6

162
Exception in thread &ldquo;JavaFX Application Thread&rdquo;

Exception in thread “JavaFX Application Thread”

Есть окно, там находятся две кнопки, одна Войти, другая Регистрация, по нажатию любой из них у меня открывается новое свое окно, проблема именно...

173
Вертикальный текст TextView Android

Вертикальный текст TextView Android

Очень ищу возможность в Android сделать отображение текста в TextView вертикальноИменно вертикально а не повернув на 90градусов

191