Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 25

Spring и Hibernate

29.11.2013, 21:17. Показов 3731. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь написать свой CRUD на спринге, никак не удается отловить вот этот баг:
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
org.hibernate.HibernateException: createQuery is not valid without active transaction
    at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:297)
    at com.sun.proxy.$Proxy21.createQuery(Unknown Source)
    at com.wp.crud.dao.MainDaoImpl.getAllRecords(MainDaoImpl.java:42)
    at com.wp.crud.controller.MainServiceImpl.getAllRecords(MainServiceImpl.java:43)
    at com.wp.crud.controller.MainController.setupForm(MainController.java:24)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)

MainDaoImpl:
Кликните здесь для просмотра всего текста
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
package com.wp.crud.dao;
 
import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
 
import com.wp.crud.model.Record;
@Repository
public class MainDaoImpl implements MainDao {
    @Autowired
    private SessionFactory session;
    
    
    @Override
    public void add(Record record) {
        
        session.getCurrentSession().save(record);
    }
 
    @Override
    public void edit(Record record) {
        
        session.getCurrentSession().update(record);
    }
 
    @Override
    public void delete(int recordId) {
        
        session.getCurrentSession().delete(getRecord(recordId));
    }
 
    @Override
    public Record getRecord(int recordId) {
        return (Record)session.getCurrentSession().get(Record.class, recordId);
         
    }
 
    @Override
    public List getAllRecords() {
        return session.getCurrentSession().createQuery("from records").list();
    }

MainServiceImpl:
Кликните здесь для просмотра всего текста
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
package com.wp.crud.controller;
 
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.wp.crud.dao.MainDao;
import com.wp.crud.model.Record;
 
@Service
public class MainServiceImpl implements MainService {
    @Autowired  
    private MainDao mainDao;
    
    @Transactional 
    public void add(Record record) {
        mainDao.add(record);
 
    }
 
    @Transactional
    public void edit(Record record) {
        mainDao.edit(record);
 
    }
 
    @Transactional
    public void delete(int recordId) {
        mainDao.delete(recordId);
 
    }
 
    @Transactional
    public Record getRecord(int recordId) {
        
        return mainDao.getRecord(recordId);
    }
 
    @Transactional
    public List<Record> getAllRecords() {
        
        return mainDao.getAllRecords();
    }
 
}

MainController:
Кликните здесь для просмотра всего текста
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
package com.wp.crud.controller;
 
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.wp.crud.model.Record;
 
@Controller
public class MainController {
    @Autowired
    private MainService mainService;
    @RequestMapping("/index")
    public String setupForm (Map<String,Object> map)
    {
    Record record = new Record();   
    map.put("record", record);
    map.put("recordsList", mainService.getAllRecords());
    return "record";    
    }
    @RequestMapping(value="/record.do",method=RequestMethod.POST)
    public String doActions (@ModelAttribute Record record,BindingResult result,@RequestParam String action,Map<String,Object> map)
    {
        Record recordResult = new Record();
        switch(action.toLowerCase()){ 
        case "add":
            mainService.add(record);
            recordResult=record;
            break;
        case "edit" :
            mainService.edit(record);           
            recordResult=record;
            break;
        case "delete":
            mainService.delete(record.getRecordId());
            recordResult=new Record();
            break;
        case "search":
            Record searchedResult=mainService.getRecord(record.getRecordId());
            recordResult=searchedResult !=null ? searchedResult : new Record() ;
            break;
        }
        map.put("record", recordResult);
        map.put("recordsList", mainService.getAllRecords());
        return "record";
    }
}

hibernate.cfg.xml:
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.current_session_context_class">thread</property><!-- этого в примере не было, просто эксперимент -->
        <mapping class="com.wp.crud.model.Record" />
        
    </session-factory>
</hibernate-configuration>

И на всякий случай модель:
Кликните здесь для просмотра всего текста
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
package com.wp.crud.model;
 
import java.util.Date;
 
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
 
@Entity
@Table(name = "records")
public class Record {
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.AUTO)
private int recordId;
@Column(name="value1")
private String vol1;
@Column(name="value2")
private String vol2;
@Column(name="value3")
private String vol3;
//@Column
//private Date date1;
public Record(){}
public Record(int recordId, String vol1, String vol2, String vol3,
        Date date1) {
    super();
    this.recordId = recordId;
    this.vol1 = vol1;
    this.vol2 = vol2;
    this.vol3 = vol3;
    //this.date1 = date1;
}
public int getRecordId() {
    return recordId;
}
public void setRecordId(int recordId) {
    this.recordId = recordId;
}
public String getVol1() {
    return vol1;
}
public void setVol1(String vol1) {
    this.vol1 = vol1;
}
public String getVol2() {
    return vol2;
}
public void setVol2(String vol2) {
    this.vol2 = vol2;
}
public String getVol3() {
    return vol3;
}
public void setVol3(String vol3) {
    this.vol3 = vol3;
}
 
}

Помогите разобраться, пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.11.2013, 21:17
Ответы с готовыми решениями:

Spring + Hibernate
Вообщем решил изучить Java, Spring, Hibernate. Запили основу, но вот постоянно выскакивает, не знаю как её поправить... Ошибка: ...

Hibernate + Spring
написал конфигурационный файл... &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;...

Hibernate 5 spring
я пытаюсь создать через класс утилиту объект session но при инициализации путь к hibernate.cfg.xml оно пытается отыскать в папке ...

16
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
29.11.2013, 22:20
Java
1
 <property name="hibernate.current_session_context_class">thread</property>
это убери
0
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 25
29.11.2013, 22:25  [ТС]
Цитата Сообщение от gredwhite Посмотреть сообщение
Java
1
 <property name="hibernate.current_session_context_class">thread</property>
это убери
Не помогает, так же как и перебор всех возможных значений этого свойства.
PS хотя правильней было бы выложить логи без него.Вот они:
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
SEVERE: Servlet.service() for servlet [appServlet] in context with path [/crud] threw exception [Request processing failed; nested exception is org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here] with root cause
org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
    at org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:63)
    at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:544)
    at com.wp.crud.dao.MainDaoImpl.getAllRecords(MainDaoImpl.java:41)
    at com.wp.crud.controller.MainServiceImpl.getAllRecords(MainServiceImpl.java:42)
    at com.wp.crud.controller.MainController.setupForm(MainController.java:22)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)....
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
29.11.2013, 22:27
http://stackoverflow.com/quest... oesnt-work

Добавлено через 1 минуту
транзакцией спринг управляет.

и в конфигурации спринга надо указать как ей управлять. в ответе первый файлик - сделай по образу и подобию.
0
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 25
29.11.2013, 23:15  [ТС]
Цитата Сообщение от gredwhite Посмотреть сообщение
http://stackoverflow.com/quest... oesnt-work

Добавлено через 1 минуту
транзакцией спринг управляет.

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

root-context.xml
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:aop="http://www.springframework.org/schema/aop" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:jee="http://www.springframework.org/schema/jee" 
xmlns:lang="http://www.springframework.org/schema/lang" 
xmlns:p="http://www.springframework.org/schema/p" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xmlns:util="http://www.springframework.org/schema/util" 
xsi:schemaLocation="http://www.springframework.org/schema/beans [url]http://www.springframework.org/schema/beans/spring-beans.xsd[/url] [url]http://www.springframework.org/schema/aop[/url] [url]http://www.springframework.org/schema/aop/spring-aop.xsd[/url] [url]http://www.springframework.org/schema/context[/url] [url]http://www.springframework.org/schema/context/spring-context.xsd[/url] [url]http://www.springframework.org/schema/jee[/url] [url]http://www.springframework.org/schema/jee/spring-jee.xsd[/url] [url]http://www.springframework.org/schema/lang[/url] [url]http://www.springframework.org/schema/lang/spring-lang.xsd[/url] [url]http://www.springframework.org/schema/tx[/url] [url]http://www.springframework.org/schema/tx/spring-tx.xsd[/url] [url]http://www.springframework.org/schema/util[/url] http://www.springframework.org/schema/util/spring-util.xsd">
    <!-- Root Context: defines shared resources visible to all other web components -->
<context:component-scan base-package="com.wp.crud.dao"/>
<context:component-scan base-package="com.wp.crud.controller"/>
 
<!--
 Файл с настройками ресурсов для работы с данными (Data Access Resources) 
-->
<import resource="data.xml"/>   
</beans>

data.xml
Кликните здесь для просмотра всего текста
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
28
29
30
31
32
33
34
35
36
37
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:lang="http://www.springframework.org/schema/lang" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans [url]http://www.springframework.org/schema/beans/spring-beans.xsd[/url] [url]http://www.springframework.org/schema/aop[/url] [url]http://www.springframework.org/schema/aop/spring-aop.xsd[/url] [url]http://www.springframework.org/schema/jee[/url] [url]http://www.springframework.org/schema/jee/spring-jee.xsd[/url] [url]http://www.springframework.org/schema/lang[/url] [url]http://www.springframework.org/schema/lang/spring-lang.xsd[/url] [url]http://www.springframework.org/schema/tx[/url] [url]http://www.springframework.org/schema/tx/spring-tx.xsd[/url] [url]http://www.springframework.org/schema/util[/url] http://www.springframework.org/schema/util/spring-util.xsd">
<!--
 Настраивает управление транзакциями с помощью аннотации @Transactional 
-->
<tx:annotation-driven transaction-manager="transactionManager"/>
<!--  Менеджер транзакций  -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:messages"/>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
<!--
 Настройки бина dataSource будем хранить в отдельном файле 
-->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" p:location="/WEB-INF/jdbc.properties"/>
<!--  Непосредственно бин dataSource  -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" p:driverClassName="${jdbc.driverClassName}" p:url="${jdbc.databaseurl}" p:username="${jdbc.username}" p:password="${jdbc.password}"/>
<!--  Настройки фабрики сессий Хибернейта  -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
<property name="configurationClass">
<value>org.hibernate.cfg.AnnotationConfiguration</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.dialect">${jdbc.dialect}</prop>
<prop key="hibernate.connection.charSet">UTF-8</prop>
</props>
</property>
</bean>
</beans>
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
29.11.2013, 23:44
вроде всё так. проект пересобрать может.

я б порекомендовал(на всякий случай) использовать имена бинов такие же как и id то есть автоварить sessionFactory вместо session.

Добавлено через 9 минут
http://shchastnyi.net/media/111102/data.xml

сравните

Добавлено через 8 минут
<property name="hibernate.current_session_context_ class">thread</property>


это точно убрать!!!!
0
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 25
29.11.2013, 23:55  [ТС]
Проект отрефрешен и пересобран без ошибок, имя на всякий случай изменено на sessionFactory - ситуация та же. Подождем гуру, может быть что-нибудь подскажут.А я пока поковыряю исходники похожих приложений.

Добавлено через 2 минуты
Цитата Сообщение от gredwhite Посмотреть сообщение
вроде всё так. проект пересобрать может.

я б порекомендовал(на всякий случай) использовать имена бинов такие же как и id то есть автоварить sessionFactory вместо session.

Добавлено через 9 минут
http://shchastnyi.net/media/111102/data.xml

сравните

Добавлено через 8 минут
<property name="hibernate.current_session_context_ class">thread</property>


это точно убрать!!!!
Уже убрала же.Да, сейчас как раз у Щастного смотрю.
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
30.11.2013, 00:19
хочешь выложи архив с приложением сюда - гляну. мне кажется какая-то до ужаса тупая ошибка.
1
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 25
30.11.2013, 00:40  [ТС]
И возможно даже не одна(
Давай -
Вложения
Тип файла: zip CRUD.zip (34.6 Кб, 9 просмотров)
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
30.11.2013, 13:17
это к делу конечно мало относится, но
appServlet-servlet.xml файлик должен быть с конфигурацией так как у Вам сервлет appServlet.


@Repository(value = "mainDao")

так ещё можно попробовать написать

Добавлено через 12 часов 3 минуты
я починил, но причину по которой стало работать я так и не понял. что-то с Transactional


оффтоп:
P.S. HQL использует имена классов а не табличек!!!

проект:

http://rghost.ru/50540628
1
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 25
30.11.2013, 13:23  [ТС]
Никакого эффекта. Пересобирать не забываю. Вопрос еще актуален
UP извиняюсь, не прочитала измененный пост выше
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
30.11.2013, 14:25
меня удивляет, что если с дао(интерыейса) убрать @Transactional

то будет

HTTP Status 500 - Request processing failed; nested exception is org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
ведь сервис ведь и так помечен

Добавлено через 52 минуты
OhNo, ну что ? работает то, что я выложил?
0
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 25
30.11.2013, 15:03  [ТС]
Цитата Сообщение от gredwhite Посмотреть сообщение
меня удивляет, что если с дао(интерыейса) убрать @Transactional

то будет



ведь сервис ведь и так помечен

Добавлено через 52 минуты
OhNo, ну что ? работает то, что я выложил?
Да, всё здорово.Только у себя я пока ограничилась добавлением @Transactional перед
Java
1
public class MainDaoImpl implements MainDao
и исправлением имени таблички Records
Java
1
return sessionFactory.getCurrentSession().createQuery("from Records").list();
на имя класса Record.Вот тут действительно неожиданность)
Сейчас читаю как правильно использовать final
Большое спасибо!

Добавлено через 10 минут
Цитата Сообщение от gredwhite Посмотреть сообщение
меня удивляет, что если с дао(интерыейса) убрать @Transactional
то будет

ведь сервис ведь и так помечен
А у меня интерфейс без этой аннотации, а имплементация с ней - и всё завелось.Интересно, как на самом деле должно быть)
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
30.11.2013, 15:57
незнаю как насчёт имплементации и интерфейса, но отдельно на сервисе и отдельно на дао должно работать и вообще рекомендуется на сервис вешать @Transactional

причем проще на весь класс нежели на все методы.
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
02.12.2013, 15:06
кстати, вроде бы ничего не менял и заработало отдельно на сервисе.

вот на всякий случай архив:

P.S.
http://rghost.ru/50588684

для сервисных классов нужен свой пакет)

Добавлено через 2 часа 40 минут
как выяснилось эта проблема решилась добавлением такого вот фильтра в web.xml
Java
1
2
3
4
5
6
7
8
9
10
11
12
<filter>
        <filter-name>hibernateFilter</filter-name>
        <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
        <init-param>
            <param-name>singleSession</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>hibernateFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
что он делает - для меня вопрос...
0
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 25
04.12.2013, 00:09  [ТС]
Разрешает создавать не более одной хибернейтсессии? Кажется мне, что этот код что-то делает не так. Если удастся подсунуть проект в ревью на техническом собеседовании, напишу результаты)
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
04.12.2013, 17:39
я так понял почему была эта ошибка:

1. Сервисы и контролеры были объявлены в одном пакете и и пакет сканился и в сервлетном контексте и в рутовом
2. транзакшн менеджер упоминался только в рутовом контексте.
3. Я так понял, что транзакционность это свойство класса, а сервлетный контекст перетирает рутовый если они пересекаются, соответственно сервис переставал быть транзакционным.

я так это понимаю, но что делает фильтр в web.xml до сих не ясно.

Добавлено через 2 минуты
Цитата Сообщение от OhNo Посмотреть сообщение
Разрешает создавать не более одной хибернейтсессии?
как-то имхо это не поможет избежать ошибки

Добавлено через 7 минут
вот кстати архивчик в котором работает всё без фильтра

http://rghost.ru/50675013
какая-то бяка с с наложением контекстов...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.12.2013, 17:39
Помогаю со студенческими работами здесь

Spring + Hibernate
Во многих статьях, где описывается пример Spring MVC + Hibernate описывается @Service На пример: public interface ContactDAO { ...

Spring+Hibernate
Здравствуйте. Есть 3 таблицы: юзверы, роли, и таблица-связка. Хочу реализовать такое, регистрацию пользователя . Когда я добавляю...

Spring MVC + Hibernate
При добавлении обьекта в БД возникает исключение org.springframework.web.util.NestedServletException: Request processing failed;...

Spring + Hibernate + TomCat
Здравствуйте, так вот проблема, чтобы разобраться со Спрингом сделал небольшой проект, суть в том, что надо создать список, который будет...

Spring, Hibernate c embeded H2
Добрый день. Хочу сделать приложением Spring, Hibernate cо встроенной БД. Как я понял нужно embeded H2. Но никак не могу понять как все...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru