2011-02-16 3 views
0

У меня есть спящий режим @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 службы?

ответ

2

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

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

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

+0

И если я буду использовать весну, а не фасоль JSF для этого - это все еще нормально? – Dejell

Смежные вопросы