переходный процесс в поле Hibernate из базы данных - PullRequest
0 голосов
/ 16 февраля 2011

У меня есть Hibernate @Entity называется Video с полями:

@Column(name="TC_IN")
private BigDecimal tcIn;

@Column(name="TC_OUT")
private BigDecimal tcOut;

В приложении мне нужно преобразовать значение в другой формат, чтобы использовать его.

Итак, я добавил поле:

@transient
private String formatTCOut;

public String getFormatTCOut(){
    if (formatTCOut==null){
       sysParamService = FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance()).getBean("SysParamService");
       formatTCOut =  tcOut * sysParamService.findParamByName("accuracy");
    }
   return formatTCOut 
}

Правильно ли вызывать другой сервис внутри сущности Hibernate? \

У меня @Transactional( readOnly = true, propagation = Propagation.SUPPORTS ) выше findParamByName услуги?

1 Ответ

2 голосов
/ 16 февраля 2011

По моему мнению, это не очень хороший дизайн, поскольку это означает, что ваш объект Hibernate теперь никогда не может использоваться вне контекста web / JSF.

Это уменьшает возможность повторного использования кода и усложняет юнит-тестирование.

Объединение данных / значений из нескольких компонентов или источников должно выполняться на более высоком уровне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...