Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465

Создание и открытие сессии в Hibernate

27.11.2018, 18:03. Показов 5307. Ответов 18

Студворк — интернет-сервис помощи студентам
Здравствуйте!

В проект Maven подключил зависимости Hibernate, добавил поддержку Hibernate в проект. В автоматическом режиме сформировался файл Hibernate.cfg.hml, класс Main сформировался тоже автоматически, переименовал его в BuildSessionFactory, c методом main и методом открытия сессии. Автоматически сформировал сущности в Intellije Aidea. Далее пытаюсь сделать запрос на выгрузку из базы, соответственно обращаюсь к методу getSession(), но на стадии формирование объекта, в который должна быть сохранена конфигурация соединения
Java
1
Configuration configuration = new Configuration();
возникает следующее исключение:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Connected to the target VM, address: '127.0.0.1:51396', transport: 'socket'
Exception in thread "main" java.lang.ExceptionInInitializerError
    at Build.BuildSessionFactory.<clinit>(BuildSessionFactory.java:24)
    at Build.SessionFactory.openSession(SessionFactory.java:18)
    at Build.SessionFactory.openTransactionSession(SessionFactory.java:22)
    at Service.EmployeeEntityService.getAllEmploes(EmployeeEntityService.java:15)
    at MainClass.main(MainClass.java:12)
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
    at org.hibernate.boot.spi.XmlMappingBinderAccess.<init>(XmlMappingBinderAccess.java:43)
    at org.hibernate.boot.MetadataSources.<init>(MetadataSources.java:86)
    at org.hibernate.cfg.Configuration.<init>(Configuration.java:123)
    at org.hibernate.cfg.Configuration.<init>(Configuration.java:118)
    at Build.BuildSessionFactory.<clinit>(BuildSessionFactory.java:19)
    ... 4 more
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    ... 9 more
Disconnected from the target VM, address: '127.0.0.1:51396', transport: 'socket'
 
Process finished with exit code 1
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class BuildSessionFactory {
    private static final SessionFactory ourSessionFactory;
 
    static {
        try {
            Configuration configuration = new Configuration();
            configuration.configure();
 
            ourSessionFactory = configuration.buildSessionFactory();
        } catch (Throwable ex) {
            throw new ExceptionInInitializerError(ex);
        }
    }
 
    public static Session getSession() throws HibernateException {
        return ourSessionFactory.openSession();
    }
 
    public static void main(final String[] args) throws Exception {
        final Session session = getSession();
        try {
            System.out.println("querying all the managed entities...");
            final Metamodel metamodel = session.getSessionFactory().getMetamodel();
            for (EntityType<?> entityType : metamodel.getEntities()) {
                final String entityName = entityType.getName();
                final Query query = session.createQuery("from " + entityName);
                System.out.println("executing: " + query.getQueryString());
                for (Object o : query.list()) {
                    System.out.println("  " + o);
                }
            }
        } finally {
            session.close();
        }
    }
}

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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.url">jdbc:mysql://localhost:3306/staffdepartment</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
 
<!-- следующие 3 строки добавил вручную -->
 
        <property name="connection.username">root</property>
        <property name="connection.password">12345</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
 
        <mapping class="Entity.ChildrenEntity"/>
        <mapping class="Entity.DepartmentEntity"/>
        <mapping class="Entity.EmployeeEntity"/>
        <mapping class="Entity.PostEntity"/>
        <mapping class="Entity.PostanddepartmentEntity"/>
        <!-- <property name="connection.username"/> -->
        <!-- <property name="connection.password"/> -->
 
        <!-- DB schema will be updated if needed -->
        <!-- <property name="hbm2ddl.auto">update</property> -->
    </session-factory>
</hibernate-configuration>

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
  <component name="FacetManager">
    <facet type="hibernate" name="Hibernate">
      <configuration>
        <datasource-map>
          <unit-entry name="hibernate.cfg.xml" value="a1fa5ef4-006f-4743-92ea-0d3d86645c18" />
        </datasource-map>
        <naming-strategy-map />
        <deploymentDescriptor name="hibernate.cfg.xml" url="file://$MODULE_DIR$/src/main/resources/hibernate.cfg.xml" />
      </configuration>
    </facet>
  </component>
</module>

Почему возникает ошибка при формирование объекта класса Configuration и как это можно исправить?
Зачем Hibernate сформировал метод main в классе? Нужен ли он?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.11.2018, 18:03
Ответы с готовыми решениями:

Ошибка при создании сессии Hibernate
Здравствуйте, в приложении с использованием spring и hibernate выходит ошибка, помогите разобраться в чём дело: db-spring.xml ...

hibernate. может быть транзакция больше сессии?
Собственно интересует тема сабжа.

Hibernate: создание таблицы-замыкания
Доброго времени суток! Прошу помощи по реализации такой сущности в Hibernate, таблица references(ссылки) в центре: Суть её в том,...

18
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
27.11.2018, 18:33
jdk8 установи вместо той, что у тебя

Добавлено через 1 минуту
Цитата Сообщение от Vlad__i__mir Посмотреть сообщение
Зачем Hibernate сформировал метод main в классе?
полагаю, что кто-то откуда-то скопировал код не глядя
1
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
27.11.2018, 19:01  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
полагаю, что кто-то откуда-то скопировал код не глядя
Я же писал:
Цитата Сообщение от Vlad__i__mir Посмотреть сообщение
класс Main сформировался тоже автоматически, переименовал его в BuildSessionFactory, c методом main и методом открытия сессии
Добавлено через 6 минут
Цитата Сообщение от xoraxax Посмотреть сообщение
jdk8 установи вместо той, что у тебя
А почему (у меня стоит jdk10)?
Я вроде последнею версию Hibernate подтянул:
XML
1
2
3
4
5
<dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.3.7.Final</version>
        </dependency>
Если я сейчас у проекта сменю jdk мне придётся заново всё формировать (Hibernate.cfg.hml, сущности)?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
27.11.2018, 19:31
Цитата Сообщение от Vlad__i__mir Посмотреть сообщение
А почему (у меня стоит jdk10)?
варианта 2 - трахаешься с 10 или пишешь на 8
1
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
27.11.2018, 19:41  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
варианта 2 - трахаешься с 10 или пишешь на 8
Если я сейчас у проекта просто сменю jdk, мне придётся заново всё формировать (Hibernate.cfg.hml, сущности)?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
27.11.2018, 20:09
нет
1
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
27.11.2018, 21:32  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
варианта 2 - трахаешься с 10 или пишешь на 8
Сделал jdk8_192. Объект класса Configuration создаётся, но теперь выбрасывает исключение после попытки создать объект постройки сессии
Java
1
2
3
4
5
6
7
8
9
10
static {
        try {
            Configuration configuration = new Configuration();
            configuration.configure();
 
            ourSessionFactory = configuration.buildSessionFactory(); // ourSessionFactory=null
        } catch (Throwable ex) {
            throw new ExceptionInInitializerError(ex);
        }
    }

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
C:\Java\jdk1.8.0_192\bin\java.exe -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:54572,suspend=y,server=n -javaagent:C:\Users\Vladimir\.IntelliJIdea2018.2\system\captureAgent\debugger-agent.jar=file:/C:/Users/Vladimir/AppData/Local/Temp/capture48093.props -Dfile.encoding=UTF-8 -classpath "C:\Java\jdk1.8.0_192\jre\lib\charsets.jar;C:\Java\jdk1.8.0_192\jre\lib\deploy.jar;C:\Java\jdk1.8.0_192\jre\lib\ext\access-bridge-64.jar;C:\Java\jdk1.8.0_192\jre\lib\ext\cldrdata.jar;C:\Java\jdk1.8.0_192\jre\lib\ext\dnsns.jar;C:\Java\jdk1.8.0_192\jre\lib\ext\jaccess.jar;C:\Java\jdk1.8.0_192\jre\lib\ext\jfxrt.jar;C:\Java\jdk1.8.0_192\jre\lib\ext\localedata.jar;C:\Java\jdk1.8.0_192\jre\lib\ext\nashorn.jar;C:\Java\jdk1.8.0_192\jre\lib\ext\sunec.jar;C:\Java\jdk1.8.0_192\jre\lib\ext\sunjce_provider.jar;C:\Java\jdk1.8.0_192\jre\lib\ext\sunmscapi.jar;C:\Java\jdk1.8.0_192\jre\lib\ext\sunpkcs11.jar;C:\Java\jdk1.8.0_192\jre\lib\ext\zipfs.jar;C:\Java\jdk1.8.0_192\jre\lib\javaws.jar;C:\Java\jdk1.8.0_192\jre\lib\jce.jar;C:\Java\jdk1.8.0_192\jre\lib\jfr.jar;C:\Java\jdk1.8.0_192\jre\lib\jfxswt.jar;C:\Java\jdk1.8.0_192\jre\lib\jsse.jar;C:\Java\jdk1.8.0_192\jre\lib\management-agent.jar;C:\Java\jdk1.8.0_192\jre\lib\plugin.jar;C:\Java\jdk1.8.0_192\jre\lib\resources.jar;C:\Java\jdk1.8.0_192\jre\lib\rt.jar;D:\Учёба ФИИТ 3 курс\ОЯиС (Java)\HibernateMavenJDK8\target\classes;C:\Users\Vladimir\.m2\repository\org\hibernate\hibernate-core\5.3.7.Final\hibernate-core-5.3.7.Final.jar;C:\Users\Vladimir\.m2\repository\org\jboss\logging\jboss-logging\3.3.2.Final\jboss-logging-3.3.2.Final.jar;C:\Users\Vladimir\.m2\repository\javax\persistence\javax.persistence-api\2.2\javax.persistence-api-2.2.jar;C:\Users\Vladimir\.m2\repository\org\javassist\javassist\3.23.1-GA\javassist-3.23.1-GA.jar;C:\Users\Vladimir\.m2\repository\net\bytebuddy\byte-buddy\1.8.17\byte-buddy-1.8.17.jar;C:\Users\Vladimir\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\Vladimir\.m2\repository\org\jboss\spec\javax\transaction\jboss-transaction-api_1.2_spec\1.1.1.Final\jboss-transaction-api_1.2_spec-1.1.1.Final.jar;C:\Users\Vladimir\.m2\repository\org\jboss\jandex\2.0.5.Final\jandex-2.0.5.Final.jar;C:\Users\Vladimir\.m2\repository\com\fasterxml\classmate\1.3.4\classmate-1.3.4.jar;C:\Users\Vladimir\.m2\repository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;C:\Users\Vladimir\.m2\repository\org\dom4j\dom4j\2.1.1\dom4j-2.1.1.jar;C:\Users\Vladimir\.m2\repository\org\hibernate\common\hibernate-commons-annotations\5.0.4.Final\hibernate-commons-annotations-5.0.4.Final.jar;C:\Users\Vladimir\.m2\repository\org\hibernate\javax\persistence\hibernate-jpa-2.1-api\1.0.2.Final\hibernate-jpa-2.1-api-1.0.2.Final.jar;C:\Users\Vladimir\.m2\repository\mysql\mysql-connector-java\5.1.46\mysql-connector-java-5.1.46.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2018.2.3\lib\idea_rt.jar" Main
Connected to the target VM, address: '127.0.0.1:54572', transport: 'socket'
ноя 27, 2018 11:26:42 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.3.7.Final}
ноя 27, 2018 11:26:42 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
java.lang.ExceptionInInitializerError
    at Main.<clinit>(Main.java:22)
Caused by: org.hibernate.internal.util.config.ConfigurationException: Could not locate cfg.xml resource [hibernate.cfg.xml]
    at org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlResource(ConfigLoader.java:53)
    at org.hibernate.boot.registry.StandardServiceRegistryBuilder.configure(StandardServiceRegistryBuilder.java:165)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:258)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:244)
    at Main.<clinit>(Main.java:18)
Disconnected from the target VM, address: '127.0.0.1:54572', transport: 'socket'
Exception in thread "main" 
Process finished with exit code 1
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
27.11.2018, 23:18
Цитата Сообщение от Vlad__i__mir Посмотреть сообщение
hibernate.cfg.xml
вот этот файл не там где надо лежит, читай че написано
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
30.11.2018, 16:54  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
вот этот файл не там где надо лежит, читай че написано
Переместил в пакет "resoursec", данное исключение пропало.
Появилось новое исключение уже связанное с одной из сущностей, ругается на поле БД, которое является внешним ключом, ссылающемся на сущность где реализована связь многие ко многим:
XML
1
Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: Entity.EmployeeEntity column: id_PostAndDepartment (should be mapped with insert="false" update="false")
Перевести перевёл, но сути, в чём проблема, не понял
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
30.11.2018, 17:04
вроде в ошибке предельно ясно сказано, что не так, смотри на свои маппинги
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
30.11.2018, 17:42  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
вроде в ошибке предельно ясно сказано, что не так, смотри на свои маппинги
В маппинге класса сущности EmployeeEntity, я не нашёл таких параметров как insert="false" update="false" и поэтому не пойму, что нужно сделать
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
30.11.2018, 19:17
нужно полностью прочитать, что тебе пишут
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
30.11.2018, 19:26  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
нужно полностью прочитать, что тебе пишут
Я понял написанное как то, что у сущности EmployeeEntity для поля id_PostAndDepartment, должны быть установлены следующие параметры со значениями insert="false" update="false". Возможно это не верно?

Ещё не понятно Hibernate имеет ввиду класс сущность EmployeeEntity или таблицу БД Employee?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
30.11.2018, 20:42
Repeated column in mapping for entity: Entity.EmployeeEntity column: id_PostAndDepartment
вот это прочитай. Где-то дублируется. Смотри где.
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
30.11.2018, 21:28  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
Где-то дублируется. Смотри где.
Смотреть в сущности?
Если в сущности, то дублирования нет:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
@Entity
@Table(name = "employee", schema = "staffdepartment", catalog = "")
public class EmployeeEntity {
    private int idEmployee;
    private String firstName;
    private String lastName;
    private String patronymicName;
    private String passwordData;
    private Date dateBirth;
    private String pol;
    private Integer inn;
    private Integer idPostAndDepartment;
    private Date dateEmployment;
    private Collection<ChildrenEntity> childrenByIdEmployee;
    private PostanddepartmentEntity postanddepartmentByIdPostAndDepartment;
 
    @Id
    @Column(name = "id_Employee", nullable = false)
    public int getIdEmployee() {
        return idEmployee;
    }
 
    public void setIdEmployee(int idEmployee) {
        this.idEmployee = idEmployee;
    }
 
    @Basic
    @Column(name = "FirstName", nullable = true, length = 30)
    public String getFirstName() {
        return firstName;
    }
 
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
 
    @Basic
    @Column(name = "LastName", nullable = true, length = 30)
    public String getLastName() {
        return lastName;
    }
 
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
 
    @Basic
    @Column(name = "PatronymicName", nullable = true, length = 30)
    public String getPatronymicName() {
        return patronymicName;
    }
 
    public void setPatronymicName(String patronymicName) {
        this.patronymicName = patronymicName;
    }
 
    @Basic
    @Column(name = "PasswordData", nullable = true, length = 100)
    public String getPasswordData() {
        return passwordData;
    }
 
    public void setPasswordData(String passwordData) {
        this.passwordData = passwordData;
    }
 
    @Basic
    @Column(name = "DateBirth", nullable = true)
    public Date getDateBirth() {
        return dateBirth;
    }
 
    public void setDateBirth(Date dateBirth) {
        this.dateBirth = dateBirth;
    }
 
    @Basic
    @Column(name = "Pol", nullable = true, length = 3)
    public String getPol() {
        return pol;
    }
 
    public void setPol(String pol) {
        this.pol = pol;
    }
 
    @Basic
    @Column(name = "INN", nullable = true)
    public Integer getInn() {
        return inn;
    }
 
    public void setInn(Integer inn) {
        this.inn = inn;
    }
 
    @Basic
    @Column(name = "id_PostAndDepartment", nullable = true)
    public Integer getIdPostAndDepartment() {
        return idPostAndDepartment;
    }
 
    public void setIdPostAndDepartment(Integer idPostAndDepartment) {
        this.idPostAndDepartment = idPostAndDepartment;
    }
 
    @Basic
    @Column(name = "DateEmployment", nullable = true)
    public Date getDateEmployment() {
        return dateEmployment;
    }
 
    public void setDateEmployment(Date dateEmployment) {
        this.dateEmployment = dateEmployment;
    }
 
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
 
        EmployeeEntity that = (EmployeeEntity) o;
 
        if (idEmployee != that.idEmployee) return false;
        if (firstName != null ? !firstName.equals(that.firstName) : that.firstName != null) return false;
        if (lastName != null ? !lastName.equals(that.lastName) : that.lastName != null) return false;
        if (patronymicName != null ? !patronymicName.equals(that.patronymicName) : that.patronymicName != null)
            return false;
        if (passwordData != null ? !passwordData.equals(that.passwordData) : that.passwordData != null) return false;
        if (dateBirth != null ? !dateBirth.equals(that.dateBirth) : that.dateBirth != null) return false;
        if (pol != null ? !pol.equals(that.pol) : that.pol != null) return false;
        if (inn != null ? !inn.equals(that.inn) : that.inn != null) return false;
        if (idPostAndDepartment != null ? !idPostAndDepartment.equals(that.idPostAndDepartment) : that.idPostAndDepartment != null)
            return false;
        if (dateEmployment != null ? !dateEmployment.equals(that.dateEmployment) : that.dateEmployment != null)
            return false;
 
        return true;
    }
 
    @Override
    public int hashCode() {
        int result = idEmployee;
        result = 31 * result + (firstName != null ? firstName.hashCode() : 0);
        result = 31 * result + (lastName != null ? lastName.hashCode() : 0);
        result = 31 * result + (patronymicName != null ? patronymicName.hashCode() : 0);
        result = 31 * result + (passwordData != null ? passwordData.hashCode() : 0);
        result = 31 * result + (dateBirth != null ? dateBirth.hashCode() : 0);
        result = 31 * result + (pol != null ? pol.hashCode() : 0);
        result = 31 * result + (inn != null ? inn.hashCode() : 0);
        result = 31 * result + (idPostAndDepartment != null ? idPostAndDepartment.hashCode() : 0);
        result = 31 * result + (dateEmployment != null ? dateEmployment.hashCode() : 0);
        return result;
    }
 
    @OneToMany(mappedBy = "employeeByIdEmployee")
    public Collection<ChildrenEntity> getChildrenByIdEmployee() {
        return childrenByIdEmployee;
    }
 
    public void setChildrenByIdEmployee(Collection<ChildrenEntity> childrenByIdEmployee) {
        this.childrenByIdEmployee = childrenByIdEmployee;
    }
 
    @ManyToOne
    @JoinColumn(name = "id_PostAndDepartment", referencedColumnName = "id_PostAndDepartment")
    public PostanddepartmentEntity getPostanddepartmentByIdPostAndDepartment() {
        return postanddepartmentByIdPostAndDepartment;
    }
 
    public void setPostanddepartmentByIdPostAndDepartment(PostanddepartmentEntity postanddepartmentByIdPostAndDepartment) {
        this.postanddepartmentByIdPostAndDepartment = postanddepartmentByIdPostAndDepartment;
    }
}
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
30.11.2018, 21:45
Лучший ответ Сообщение было отмечено Vlad__i__mir как решение

Решение

у тебя есть basic поле и joinColumn. Как конкретно оно работает надо смотреть а доках
1
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
30.11.2018, 22:03  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
у тебя есть basic поле и joinColumn. Как конкретно оно работает надо смотреть а доках
Это же 2 разных поля, basic поле имеет тип Integer, оно хранит числовое значение внешнего ключа, а JoinColumn имеет тип объекта внешнего ключа (PostanddepartmentEntity), и если я правильно понял, то оно хранит ссылку на объект внешнего ключа.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
01.12.2018, 07:32
Vlad__i__mir, открой документацию и разберись, как это выглядит в sql
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
03.12.2018, 21:55  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
у тебя есть basic поле и joinColumn. Как конкретно оно работает надо смотреть а доках
В общем убрал поля basic с типом Integer, хранящие числовые значения внешнего ключа, и оставил только поля имеющие тип объекта внешнего ключа (JoinColumn) - заработало
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.12.2018, 21:55
Помогаю со студенческими работами здесь

Создание копии сущности в Hibernate
Добрый день. Есть сущность Юзер(User.class), которая имеет список сущностей Lesson( Array&lt;Lesson&gt;), которая в свою очередь имеет...

Создание таблиц через Hibernate
Подскажите, почему нельзя создавать таблицы используя hibernate? Разговаривал с ведущим программистом в одной компании и когда сказал...

Создание сессии
Возник такой вопрос: Допустим, теоретически, у пользователя отключены куки(случайно или намеренно), и он заходит на страницу...

создание сессии
кароч вот код пых: if ($G2 !=0){ $max = maxFunc($G2); $mx = ''; $maxFl = maxFlot($G2); $mxQuery ='';} хтмл: ...

Создание сессии php
Имеется сценарий, задающий поля &quot;название базы данных&quot; и &quot;пароль администратора&quot;. Нужно, используя массивы $HTTP_SESSION_VARS и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru