Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / spring HibernateTemplate и Работа со справочниками / 12 сообщений из 12, страница 1 из 1
18.06.2013, 21:00
    #38302293
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring HibernateTemplate и Работа со справочниками
Добрый вечер !
Есть проект на spring 3 , HibernateTemplate , есть

обычный entity - который описывает сущность Компания.

Это таблица справочник ... работа с ней (удаление, добавление итд очень редкая вещь)

Company{
CompanyId int;
CompanyName String;
}

Код: java
1.
2.
3.
4.
5.
6.
 @Id
    @Column(name = "CompanyId ")
    @Getter @Setter int CompanyId ;
 
    @Column(name = "CompanyName")
    private @Getter @Setter String companyName ;



есть интерфейс и его реализация CompanyService и CompanyServiceImpl

которую я хочу использовать

хочется реализовать функцию

getCompanyNameById(int id) - так , чтобы она не лазила при каждом обращении в базу .

как это сделать?


создать hashmap и про инициализировать его единожды при старте приложения ...
или создать таск который будет обновлять этот hashmap раз в сутки по расписанию?

или в Хибернейте есть возможность явно закешировать результаты ?
...
Рейтинг: 0 / 0
18.06.2013, 21:18
    #38302314
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring HibernateTemplate и Работа со справочниками
Подключаем EhCache, включаем кэш второго уровня, указываем usage.
http://docs.jboss.org/hibernate/orm/4.0/devguide/en-US/html/ch06.html
...
Рейтинг: 0 / 0
18.06.2013, 22:58
    #38302387
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring HibernateTemplate и Работа со справочниками
Не по теме, я тут читал что использование HibernateTemplate почему-то стало устаревшим.
...
Рейтинг: 0 / 0
18.06.2013, 23:12
    #38302397
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring HibernateTemplate и Работа со справочниками
rdmНе по теме, я тут читал что использование HibernateTemplate почему-то стало устаревшим.
Потому что смысла мало, когда @Transactional уже JEE стандартизирован. Да, и анонимные классы не совсем удобны.
...
Рейтинг: 0 / 0
18.06.2013, 23:44
    #38302418
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring HibernateTemplate и Работа со справочниками
Blazkowicz,т.е теперь все методы доступа к данным должны быть "под" @Transactional и работать через getCurrentSession() ?
...
Рейтинг: 0 / 0
19.06.2013, 09:24
    #38302619
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring HibernateTemplate и Работа со справочниками
Я читал что уровень DAO уже не нужен и всем рекомендуют переходить на JPA и entityManager

HibernateTemplate - просто удобен :) в нем много чего есть ... дело привычки :

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
@Service
public class CompanyServiceImpl implements CompanyService {

    @Autowired
    private SessionFactory sessionFactory;
    
     private HibernateTemplate ht;
     
     private List<TGames> list;
	
	@PostConstruct
	public void init()
	{
		ht = new HibernateTemplate(sessionFactory);
	}

//TODO 

 функции ... 
...
Рейтинг: 0 / 0
19.06.2013, 09:28
    #38302627
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring HibernateTemplate и Работа со справочниками
BlazkowiczrdmНе по теме, я тут читал что использование HibernateTemplate почему-то стало устаревшим.
Потому что смысла мало, когда @Transactional уже JEE стандартизирован. Да, и анонимные классы не совсем удобны.

Помоему в JEE есть EJB со своей аннотацией @TransactionAttribute(REQUIRED) ?!
...
Рейтинг: 0 / 0
19.06.2013, 10:24
    #38302715
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring HibernateTemplate и Работа со справочниками
Atum1Я читал что уровень DAO уже не нужен
Это спорный вопрос. В том виде, в котором раньше был DAO, возможно и не нужен. Но то что работу с данными лучше такие вынести в отдельный слой - ещё актуальный вопрос.
Ну, и вообще мало ли кто чего пишет. Нужно своё мнение иметь.

Atum1и всем рекомендуют переходить на JPA и entityManager
Тоже палка о двух концах. На кой оно нам, если там нет и половины того что умеет Hibernate.
Это мы сейчас договоримся и до того что Spring не нужен. Ведь уже есть EJB3 и CDI. Гы.

Atum1HibernateTemplate - просто удобен :) в нем много чего есть ...

Да, нифига.
http://stackoverflow.com/questions/5104765/hibernatedaosupport-is-not-recommended-why

Atum1дело привычки :
Вот это уже ближе к правде.

Atum1
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
@Service
public class CompanyServiceImpl implements CompanyService {

    @Autowired
    private SessionFactory sessionFactory;
    
     private HibernateTemplate ht;
     
     private List<TGames> list;
	
	@PostConstruct
	public void init()
	{
		ht = new HibernateTemplate(sessionFactory);
	}

//TODO 

 функции ... 



Это всё просто выбрасывается, и работает как и раньше! Соответственно код чище. А задачи решает те же.

Gavin King уже ругал HibernateTemplate зацените сколько лет назад:
http://www.jroller.com/SpringPersistence101/entry/to_hibernatetemplate_or_not_to
...
Рейтинг: 0 / 0
19.06.2013, 10:27
    #38302720
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring HibernateTemplate и Работа со справочниками
Atum1Помоему в JEE есть EJB со своей аннотацией @TransactionAttribute(REQUIRED) ?!
Ну, там не совсем так. В EJB уже все методы транзакционные (container managed), если не указать для них ручные транзакции.
TransactionAttribute это аналог Propagation из Spring.
...
Рейтинг: 0 / 0
19.06.2013, 10:30
    #38302732
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring HibernateTemplate и Работа со справочниками
Раз уж разговор про доступ к данным.
Зацените Spring Data
http://static.springsource.org/spring-data/data-jpa/docs/current/reference/html/jpa.repositories.html#jpa.sample-app.finders.strategies
Он умеет методы интерфейса резолвить как запросы. Вообще ничего другого писать не надо.
...
Рейтинг: 0 / 0
19.06.2013, 11:40
    #38302880
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring HibernateTemplate и Работа со справочниками
BlazkowiczРаз уж разговор про доступ к данным.
Зацените Spring Data
http://static.springsource.org/spring-data/data-jpa/docs/current/reference/html/jpa.repositories.html#jpa.sample-app.finders.strategies
Он умеет методы интерфейса резолвить как запросы. Вообще ничего другого писать не надо.

Spring Data и Spring Data это монстр в котором ест все , а если туда еще добавить Hibernate - то там есть вообще все :)

главное знать что где взять .
...
Рейтинг: 0 / 0
13.05.2014, 16:46
    #38640009
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring HibernateTemplate и Работа со справочниками
возникла проблема с HibernateTemplate

import org.springframework.orm.hibernate3.HibernateTemplate;


Есть код :

Код: 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.
@Service
public class MyServiceImpl implements MyService{

    	@Autowired
	private SessionFactory sessionFactory;
	
	private HibernateTemplate ht;
	
	@PostConstruct
	public void init()
	{
		ht = new HibernateTemplate(sessionFactory);
                ht.setFlushMode(HibernateAccessor.FLUSH_AUTO);
                ht.setCheckWriteOperations(false);
	}


    @Override
    @Transactional
    public void remove(Basket basket) {
        ht.delete(basket);
    }

    @Override
    @Transactional
    public Basket save(Basket basket) {
        basket.setCreationDate(new Date());
        ht.save(basket);
        return basket;
        
    }



так вот ,в другом месте вызываю метод сохранить объект Basket - и все ок.!

как только пытаюсь вызвать метод удалить - remove - ничего не происходит , ровным счетом ничего ...

в настройках указал - никаких запросов в логах нет !


<prop key="hibernate.show_sql">true</prop> <!-- true -->

запросов нет. - пусто.

Код: java
1.
2.
3.
                if (basket != null) {
                    myService.remove(basket);
                }
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / spring HibernateTemplate и Работа со справочниками / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]