gpt4 book ai didi

java - 来自数据库的 Hibernate 字段中的 transient

转载 作者:行者123 更新时间:2023-12-02 08:23:27 24 4
gpt4 key购买 nike

我有名为 Video 的 hibernate @Entity 字段:

@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实体内调用另一个服务?\

我在服务的 findParamByName 上方有 @Transactional( readOnly = true,propagation = Propagation.SUPPORTS ) 吗?

最佳答案

在我看来,这不是一个好的设计,因为这意味着您的 Hibernate 对象现在永远不能在 Web/JSF 上下文之外使用。

这降低了代码的可重用性,并使单元测试变得困难。

应在更高级别上组合来自多个 bean 或源的数据/值。

关于java - 来自数据库的 Hibernate 字段中的 transient ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5018471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com