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

Подключение к базе данных через Hibernet

18.10.2017, 23:47. Показов 3616. Ответов 23

Студворк — интернет-сервис помощи студентам
Доброго времени суток, ребята!

Подключаюсь к БД с помощью Hibernet и вот процесс подключения длится уже 35 минут.
А компилятор выдаёт вот такое сообщение:
run:
окт 18, 2017 11:04:21 PM org.hibernate.annotations.common.reflect ion.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
окт 18, 2017 11:04:21 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.3.1.Final}
окт 18, 2017 11:04:21 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
окт 18, 2017 11:04:21 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
окт 18, 2017 11:04:21 PM org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
окт 18, 2017 11:04:21 PM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
окт 18, 2017 11:04:21 PM org.hibernate.internal.util.xml.DTDEntit yResolver resolveEntity
WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
окт 18, 2017 11:04:21 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: main/java/table/NaselennayPunkt.hbm.xml
окт 18, 2017 11:04:21 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: main/java/table/Pogoda.hbm.xml
окт 18, 2017 11:04:21 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: main/java/table/AtmosfernaeYvleniy.hbm.xml
окт 18, 2017 11:04:21 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: main/java/table/Country.hbm.xml
окт 18, 2017 11:04:21 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: main/java/table/ClimatPoyas.hbm.xml
окт 18, 2017 11:04:22 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: main/java/table/Region.hbm.xml
окт 18, 2017 11:04:22 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: main/java/table/Veter.hbm.xml
окт 18, 2017 11:04:22 PM org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
окт 18, 2017 11:04:22 PM org.hibernate.engine.jdbc.connections.in ternal.DriverManagerConnectionProviderIm pl configure
WARN: HHH000402: Using Hibernate built-in connection pool (not for production use!)
окт 18, 2017 11:04:22 PM org.hibernate.engine.jdbc.connections.in ternal.DriverManagerConnectionProviderIm pl buildCreator
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/climate?zeroDateTimeBehavior=convertToNu ll]
окт 18, 2017 11:04:22 PM org.hibernate.engine.jdbc.connections.in ternal.DriverManagerConnectionProviderIm pl buildCreator
INFO: HHH000046: Connection properties: {user=root, password=****}
окт 18, 2017 11:04:22 PM org.hibernate.engine.jdbc.connections.in ternal.DriverManagerConnectionProviderIm pl buildCreator
INFO: HHH000006: Autocommit mode: false
окт 18, 2017 11:04:22 PM org.hibernate.engine.jdbc.connections.in ternal.DriverManagerConnectionProviderIm pl configure
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
окт 18, 2017 11:04:23 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
окт 18, 2017 11:04:23 PM org.hibernate.engine.transaction.interna l.TransactionFactoryInitiator initiateService
INFO: HHH000399: Using default transaction strategy (direct JDBC transactions)
окт 18, 2017 11:04:23 PM org.hibernate.hql.internal.ast.ASTQueryT ranslatorFactory <init>
INFO: HHH000397: Using ASTQueryTranslatorFactory
Exception in thread "main" org.hibernate.SessionException: Session was already closed
at org.hibernate.internal.SessionImpl.close (SessionImpl.java:355)
at main.weatherdatabase.PogodaInterfaceImpl .getPogoda(PogodaInterfaceImpl.java:74)
at main.weatherdatabase.WeatherDatabase.mai n(WeatherDatabase.java:13)


Может быть это конечно нормально, я не знаю, впервые подключаю БД.

Смущает исключение.

Подскажите, что делать?

Добавлено через 1 час 56 минут
Убрал команду закрытия сессии из функции, где у меня происходило возвращение данных из БД.

Теперь выдаёт вот такое исключение:

NaselennayPunkt TDay getTemperaturaVoda
Exception in thread "main" org.hibernate.LazyInitializationExceptio n: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitiali zer.initialize(AbstractLazyInitializer.j ava:164)
at org.hibernate.proxy.AbstractLazyInitiali zer.getImplementation(AbstractLazyInitia lizer.java:285)
at org.hibernate.proxy.pojo.javassist.Javas sistLazyInitializer.invoke(JavassistLazy Initializer.java:185)
at main.java.table.NaselennayPunkt_$$_jvste 1a_4.toString(NaselennayPunkt_$$_jvste1a _4.java)
at java.lang.String.valueOf(String.java:299 4)
at java.lang.StringBuilder.append(StringBui lder.java:131)
at main.weatherdatabase.WeatherDatabase.mai n(WeatherDatabase.java:17)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.10.2017, 23:47
Ответы с готовыми решениями:

Подключение к базе данных через mysql c++
Мне нужно, чтобы человек подключался к базе данных и мог получать от туда информацию. К локальному хосту подключается хорошо, а вот к базе...

Подключение к базе данных через форму
Как сделать форму подключения к бд? К примеру в textbox вписываешь имя сервера, имя базы и т.д

Подключение к базе данных MySQL через Delphi
при попытки подключение к базе выходит такая ошибка не пойму то ли я не правильно ввожу данные для входа то ли что то еще не так. Для...

23
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
01.11.2017, 10:19
Студворк — интернет-сервис помощи студентам
1. 1 - потому что ты её прибиваешь. закрой sessionFactory еще для завершения
2. сессия на приложение одна (не всегда, но в твоем случае одна), транзакций много, по одной на соответствующее действие, которое должно быть выполнено полностью или откачено полностью
3. открываешь сессию в main, потом где надо открыть транзакцию делаешь вызов у sessionFactory метода getCurrentSession(), у него открываешь транзакцию и соответственно закрываешь
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
01.11.2017, 21:56  [ТС]
Цитата Сообщение от LeX Посмотреть сообщение
3. открываешь сессию в main, потом где надо открыть транзакцию делаешь вызов у sessionFactory метода getCurrentSession(), у него открываешь транзакцию и соответственно закрываешь
Это же всё должна быть одна переменная (для открытия сессии и начала транзакции (session в моём случае))?
Как мы можем одну и ту же переменную использовать в двух классах?
Приведи пожалуйста пример как это прописать.
Класс,создающий сессию:
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
package Build;
 
import org.hibernate.SessionFactory;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
 
/**
 * Created by Vladimir on 30.10.2017.
 */
public class HibernateSessionFactory {
 
    private static SessionFactory sessionFactory = buildSessionFactory();
 
    protected static SessionFactory buildSessionFactory() {
        //A SessionFactory is set up once for an application!
        final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
                .configure()//configures settings from hibernate.cgf.xml
                .build();
        try {
            sessionFactory = new MetadataSources(registry).buildMetadata().buildSessionFactory();
        } catch (Exception e) {
            //The registry will be deestroyed by the SessionFactory,but we had trouble building the
            //SessionFactory so destroy it manually
            StandardServiceRegistryBuilder.destroy(registry);
            throw new ExceptionInInitializerError("Initial SessionFactory falled" + e);
        }
        return sessionFactory;
    }
    public static SessionFactory getSessionFactory(){
        return sessionFactory;
    }
    public static void shutdown(){
        //Close caches and connection pools
        getSessionFactory().close();
    }
}
Класс реализующий методы работы с БД
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
package ImplementsInterfaces;
 
import Build.HibernateSessionFactory;
import InterfaceAll.InterfacePogoda;
import Tables.PogodaEntity;
import Build.ConnectionJdbc;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
 
 
public class PogodaImplementsInterf extends ConnectionJdbc implements InterfacePogoda {
 
    Connection connection=getConnection();
    public void addInformationPogoda(PogodaEntity pogoda) throws SQLException {
        PreparedStatement preparedStatement=null; 
        String sqlCommand="INSERT INTO pogoda (id_punkt, Data_, t_noh, t_utro, t_day, t_veher, Vlagnosty, Davlenie, id_osadky_noh, id_osadky_utro, id_osadky_day, id_osadky_veher, Skorosty_vetra, Napravlenie_vetra, Temperatura_voda)" +
                " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
        try {
            preparedStatement=connection.prepareStatement(sqlCommand);
            preparedStatement.setInt(1,pogoda.getIdPogoda());
            preparedStatement.setDate(2,pogoda.getData());
            preparedStatement.setInt(3,pogoda.gettNoh());
            preparedStatement.setInt(4,pogoda.gettUtro());
            preparedStatement.setInt(5,pogoda.gettDay());
            preparedStatement.setInt(6,pogoda.gettVeher());
            preparedStatement.setInt(7,pogoda.getVlagnosty());
            preparedStatement.setInt(8,pogoda.getDavlenie());
            preparedStatement.setString(9,pogoda.getAtmosfernaeYvleniyByIdOsadkyNoh());
            preparedStatement.setString(10,pogoda.gettVeher());
            preparedStatement.setString(11,pogoda.gettVeher());
            preparedStatement.setString(12,pogoda.gettVeher());
            preparedStatement.setInt(13,pogoda.getSkorostyVetra());
            preparedStatement.setInt(14,pogoda.getVeterByNapravlenieVetra());
            preparedStatement.setInt(15,pogoda.getTemperaturaVoda());
 
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            if(preparedStatement!=null) preparedStatement.close();
        }
 
 
    }
 
    public List<PogodaEntity> getAllPogoda() throws SQLException {
        return null;
    }
 
    public PogodaEntity getPogodaId(int id) throws SQLException {
        return null;
    }
 
    public void updatePogoda(PogodaEntity pogoda) throws SQLException {
 
    }
 
    public void deleteInformationPogoda(PogodaEntity pogoda) throws SQLException {
 
    }
}
Главный класс:
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
import Build.HibernateSessionFactory;
import ImplementsInterfaces.PogodaImplementsInterf;
import Tables.PogodaEntity;
import org.hibernate.Session;
import java.sql.SQLException;
import java.util.List;
 
/**
 * Created by Vladimir on 30.10.2017.
 */
public class MainClass {
 
    public static void main (String[] args){
 
       Session session= HibernateSessionFactory.getSessionFactory().openSession();
       session.beginTransaction();
        //Создание объекта интерфейса для добавления новой Записи в БД
       PogodaImplementsInterf pogodaImplementsInterf=new PogodaImplementsInterf();
       //Создание добавляемого объекта
        PogodaEntity pogodaEntity=new PogodaEntity(14,2017-11-01,20,22,30,32,50,750,15,27,14,2,3,4,4,2);
 
        //Ввод записи в БД
         try{
             pogodaImplementsInterf.addInformationPogoda(pogodaEntity);
         } catch (SQLException e) {
             e.printStackTrace();
         }
 
        //Вывод
        List<PogodaEntity> allPogoda=null;
        allPogoda=session.createCriteria(PogodaEntity.class).list();
        System.out.println("NaselennayPunkt    Data   TDay  TemperaturaVoda");
        for (PogodaEntity pogoda:allPogoda){
            System.out.print(pogoda.getNaselennayPunktByIdPunkt()+" "+pogoda.getData()+" "+pogoda.gettDay()+" "+pogoda.getTemperaturaVoda());
            System.out.println();
        }
 
        session.getTransaction().commit();
        session.close();
        HibernateSessionFactory.shutdown();
 
       //Testing jdbc connection
       /* ConnectionJdbc connectionJdbc=new ConnectionJdbc();
        connectionJdbc.getConnection();*/
    }
}
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
01.11.2017, 21:57  [ТС]
LeX,ещё один очень важный вопрос.
Хабернейт формируя классы сущности, там где стояли внешние ключи сформировал в классе поля с типом объекта, на который ссылается ключ. Н-р сущность pogoda:
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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
Entity
@Table(name = "pogoda", schema = "climate", catalog = "")
public class PogodaEntity {
    private int idPogoda;
    private Date data;
    private Integer tNoh;
    private Integer tUtro;
    private Integer tDay;
    private Integer tVeher;
    private Integer vlagnosty;
    private Integer davlenie;
    private Integer skorostyVetra;
    private Integer temperaturaVoda;
    private NaselennayPunktEntity naselennayPunktByIdPunkt;
    private AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyNoh;
    private AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyUtro;
    private AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyDay;
    private AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyVeher;
    private VeterEntity veterByNapravlenieVetra;
 
    public PogodaEntity(int idPogoda, Date data, Integer tNoh, Integer tUtro, Integer tDay, Integer tVeher, Integer vlagnosty, Integer davlenie, Integer skorostyVetra, Integer temperaturaVoda, NaselennayPunktEntity naselennayPunktByIdPunkt, AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyNoh, AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyUtro, AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyDay, AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyVeher, VeterEntity veterByNapravlenieVetra) {
        this.idPogoda = idPogoda;
        this.data = data;
        this.tNoh = tNoh;
        this.tUtro = tUtro;
        this.tDay = tDay;
        this.tVeher = tVeher;
        this.vlagnosty = vlagnosty;
        this.davlenie = davlenie;
        this.skorostyVetra = skorostyVetra;
        this.temperaturaVoda = temperaturaVoda;
        this.naselennayPunktByIdPunkt = naselennayPunktByIdPunkt;
        this.atmosfernaeYvleniyByIdOsadkyNoh = atmosfernaeYvleniyByIdOsadkyNoh;
        this.atmosfernaeYvleniyByIdOsadkyUtro = atmosfernaeYvleniyByIdOsadkyUtro;
        this.atmosfernaeYvleniyByIdOsadkyDay = atmosfernaeYvleniyByIdOsadkyDay;
        this.atmosfernaeYvleniyByIdOsadkyVeher = atmosfernaeYvleniyByIdOsadkyVeher;
        this.veterByNapravlenieVetra = veterByNapravlenieVetra;
    }
 
    public PogodaEntity() {
    }
 
    @Id
    @Column(name = "id_pogoda", nullable = false)
    public int getIdPogoda() {
        return idPogoda;
    }
 
    public void setIdPogoda(int idPogoda) {
        this.idPogoda = idPogoda;
    }
 
    @Basic
    @Column(name = "Data_", nullable = false)
    public Date getData() {
        return data;
    }
 
    public void setData(Date data) {
        this.data = data;
    }
 
    @Basic
    @Column(name = "t_noh", nullable = true)
    public Integer gettNoh() {
        return tNoh;
    }
 
    public void settNoh(Integer tNoh) {
        this.tNoh = tNoh;
    }
 
    @Basic
    @Column(name = "t_utro", nullable = true)
    public Integer gettUtro() {
        return tUtro;
    }
 
    public void settUtro(Integer tUtro) {
        this.tUtro = tUtro;
    }
 
    @Basic
    @Column(name = "t_day", nullable = true)
    public Integer gettDay() {
        return tDay;
    }
 
    public void settDay(Integer tDay) {
        this.tDay = tDay;
    }
 
    @Basic
    @Column(name = "t_veher", nullable = true)
    public Integer gettVeher() {
        return tVeher;
    }
 
    public void settVeher(Integer tVeher) {
        this.tVeher = tVeher;
    }
 
    @Basic
    @Column(name = "Vlagnosty", nullable = true)
    public Integer getVlagnosty() {
        return vlagnosty;
    }
 
    public void setVlagnosty(Integer vlagnosty) {
        this.vlagnosty = vlagnosty;
    }
 
    @Basic
    @Column(name = "Davlenie", nullable = true)
    public Integer getDavlenie() {
        return davlenie;
    }
 
    public void setDavlenie(Integer davlenie) {
        this.davlenie = davlenie;
    }
 
    @Basic
    @Column(name = "Skorosty_vetra", nullable = true)
    public Integer getSkorostyVetra() {
        return skorostyVetra;
    }
 
    public void setSkorostyVetra(Integer skorostyVetra) {
        this.skorostyVetra = skorostyVetra;
    }
 
    @Basic
    @Column(name = "Temperatura_voda", nullable = true)
    public Integer getTemperaturaVoda() {
        return temperaturaVoda;
    }
 
    public void setTemperaturaVoda(Integer temperaturaVoda) {
        this.temperaturaVoda = temperaturaVoda;
    }
 
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
 
        PogodaEntity that = (PogodaEntity) o;
 
        if (idPogoda != that.idPogoda) return false;
        if (data != null ? !data.equals(that.data) : that.data != null) return false;
        if (tNoh != null ? !tNoh.equals(that.tNoh) : that.tNoh != null) return false;
        if (tUtro != null ? !tUtro.equals(that.tUtro) : that.tUtro != null) return false;
        if (tDay != null ? !tDay.equals(that.tDay) : that.tDay != null) return false;
        if (tVeher != null ? !tVeher.equals(that.tVeher) : that.tVeher != null) return false;
        if (vlagnosty != null ? !vlagnosty.equals(that.vlagnosty) : that.vlagnosty != null) return false;
        if (davlenie != null ? !davlenie.equals(that.davlenie) : that.davlenie != null) return false;
        if (skorostyVetra != null ? !skorostyVetra.equals(that.skorostyVetra) : that.skorostyVetra != null)
            return false;
        if (temperaturaVoda != null ? !temperaturaVoda.equals(that.temperaturaVoda) : that.temperaturaVoda != null)
            return false;
 
        return true;
    }
 
    @Override
    public int hashCode() {
        int result = idPogoda;
        result = 31 * result + (data != null ? data.hashCode() : 0);
        result = 31 * result + (tNoh != null ? tNoh.hashCode() : 0);
        result = 31 * result + (tUtro != null ? tUtro.hashCode() : 0);
        result = 31 * result + (tDay != null ? tDay.hashCode() : 0);
        result = 31 * result + (tVeher != null ? tVeher.hashCode() : 0);
        result = 31 * result + (vlagnosty != null ? vlagnosty.hashCode() : 0);
        result = 31 * result + (davlenie != null ? davlenie.hashCode() : 0);
        result = 31 * result + (skorostyVetra != null ? skorostyVetra.hashCode() : 0);
        result = 31 * result + (temperaturaVoda != null ? temperaturaVoda.hashCode() : 0);
        return result;
    }
 
    @ManyToOne
    @JoinColumn(name = "id_punkt", referencedColumnName = "id_punkt", nullable = false)
    public NaselennayPunktEntity getNaselennayPunktByIdPunkt() {
        return naselennayPunktByIdPunkt;
    }
 
    public void setNaselennayPunktByIdPunkt(NaselennayPunktEntity naselennayPunktByIdPunkt) {
        this.naselennayPunktByIdPunkt = naselennayPunktByIdPunkt;
    }
 
    @ManyToOne
    @JoinColumn(name = "id_osadky_noh", referencedColumnName = "id_osadky")
    public AtmosfernaeYvleniyEntity getAtmosfernaeYvleniyByIdOsadkyNoh() {
        return atmosfernaeYvleniyByIdOsadkyNoh;
    }
 
    public void setAtmosfernaeYvleniyByIdOsadkyNoh(AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyNoh) {
        this.atmosfernaeYvleniyByIdOsadkyNoh = atmosfernaeYvleniyByIdOsadkyNoh;
    }
 
    @ManyToOne
    @JoinColumn(name = "id_osadky_utro", referencedColumnName = "id_osadky")
    public AtmosfernaeYvleniyEntity getAtmosfernaeYvleniyByIdOsadkyUtro() {
        return atmosfernaeYvleniyByIdOsadkyUtro;
    }
 
    public void setAtmosfernaeYvleniyByIdOsadkyUtro(AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyUtro) {
        this.atmosfernaeYvleniyByIdOsadkyUtro = atmosfernaeYvleniyByIdOsadkyUtro;
    }
 
    @ManyToOne
    @JoinColumn(name = "id_osadky_day", referencedColumnName = "id_osadky")
    public AtmosfernaeYvleniyEntity getAtmosfernaeYvleniyByIdOsadkyDay() {
        return atmosfernaeYvleniyByIdOsadkyDay;
    }
 
    public void setAtmosfernaeYvleniyByIdOsadkyDay(AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyDay) {
        this.atmosfernaeYvleniyByIdOsadkyDay = atmosfernaeYvleniyByIdOsadkyDay;
    }
 
    @ManyToOne
    @JoinColumn(name = "id_osadky_veher", referencedColumnName = "id_osadky")
    public AtmosfernaeYvleniyEntity getAtmosfernaeYvleniyByIdOsadkyVeher() {
        return atmosfernaeYvleniyByIdOsadkyVeher;
    }
 
    public void setAtmosfernaeYvleniyByIdOsadkyVeher(AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyVeher) {
        this.atmosfernaeYvleniyByIdOsadkyVeher = atmosfernaeYvleniyByIdOsadkyVeher;
    }
 
    @ManyToOne
    @JoinColumn(name = "Napravlenie_vetra", referencedColumnName = "id_veter")
    public VeterEntity getVeterByNapravlenieVetra() {
        return veterByNapravlenieVetra;
    }
 
    public void setVeterByNapravlenieVetra(VeterEntity veterByNapravlenieVetra) {
        this.veterByNapravlenieVetra = veterByNapravlenieVetra;
    }
}
У меня в БД уже были внесены записи, в том числе записи которые используются в качестве внешнего ключа.
Как при создании нового объекта указывать их (объекты другой таблицы) в качестве параметров в конструкторе, ведь я эти объекты в Java не создавал?
Код конструктора:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public PogodaEntity(int idPogoda, Date data, Integer tNoh, Integer tUtro, Integer tDay, Integer tVeher, Integer vlagnosty, Integer davlenie, Integer skorostyVetra, Integer temperaturaVoda, NaselennayPunktEntity naselennayPunktByIdPunkt, AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyNoh, AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyUtro, AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyDay, AtmosfernaeYvleniyEntity atmosfernaeYvleniyByIdOsadkyVeher, VeterEntity veterByNapravlenieVetra) {
        this.idPogoda = idPogoda;
        this.data = data;
        this.tNoh = tNoh;
        this.tUtro = tUtro;
        this.tDay = tDay;
        this.tVeher = tVeher;
        this.vlagnosty = vlagnosty;
        this.davlenie = davlenie;
        this.skorostyVetra = skorostyVetra;
        this.temperaturaVoda = temperaturaVoda;
        this.naselennayPunktByIdPunkt = naselennayPunktByIdPunkt;
        this.atmosfernaeYvleniyByIdOsadkyNoh = atmosfernaeYvleniyByIdOsadkyNoh;
        this.atmosfernaeYvleniyByIdOsadkyUtro = atmosfernaeYvleniyByIdOsadkyUtro;
        this.atmosfernaeYvleniyByIdOsadkyDay = atmosfernaeYvleniyByIdOsadkyDay;
        this.atmosfernaeYvleniyByIdOsadkyVeher = atmosfernaeYvleniyByIdOsadkyVeher;
        this.veterByNapravlenieVetra = veterByNapravlenieVetra;
    }
Получится ли у меня пользоваться обычными SQL командами как в JDBC, н-р для добавления записи?
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
03.11.2017, 20:32  [ТС]
Проблема решена.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.11.2017, 20:32

Подключение к Базе Данных через скрипт PHP
Запутался. Где имя, где префикс где что. Допустим: Логин мой: admin Имя базы: admin_index Пароль: admin Сервер: localhost ...

Подключение к SQL базе данных через SQlAlchemy
Добрый день всем. На 4 день работы поставили задачу - подключиться к серверу с SQL-базой данных через SQLAlchemy, вытянуть оттуда...

Подключение к базе данных MS Access через ADO
Добрый вечер! У меня следующий вопрос - почему, когда пытаюсь подключиться к БД через ADO появляется следующая ошибка, указанная в...

Подключение к базе данных через C++ Builder 2010
Здравствуйте! Пытаюсь подключиться к базе данных base.fdb, находящейся в моей папке d:\student\my\base.fdb через код: void...

Подключение к базе данных через PDO. Правильный способ
Привет. Наткнулся на такое руководство http://phpfaq.ru/pdo. Автор пишет в уверенном стиле . Ваше мнение? Читать только оф.сайт или там...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru