java – 由于Hibernate Mapping需要将某些字段作为@Transient,但JSP无法访问它们

Java中,我可以访问类的Transient字段的值.但是,我不能访问JSP上的相同字段.如何让它们可用于JSP?

我正在使用Hibernate检索值,我认为这个解决方案将是Transformers.aliasToBean选项但是还有其他任何解决方案吗?

反正有没有摆脱瞬态注释但在Hibernate中具有相同的映射?在这种情况下,问题将得到解决.

@AssociationOverrides({
        @AssociationOverride(name = "tta.names",joinColumns = @JoinColumn(name = "id"))})
public class Names implements java.io.Serializable {

    private static final long serialVersionUID = -30956546435023625398L;

    @EmbeddedId
    private TableToAssociate tta = new TableToAssociate();


    @Transient
    public String getid() {
        return tta.getMyIds().getId();
    }

    public void setid(String id) {
        this.tta.getMyIds().setId(id);
    }

在Java中,我可以使用以下代码访问它们

     System.out.println(mystudents.getNames().iterator().next().getId());

在JSP中,我无权访问它们!

    

如果我放置另一个非瞬态名称字段,JSP会成功显示该项的值.

最佳答案
尝试重命名方法以匹配JavaBean规范.

代替:

@Transient
public String getid() {
    return tta.getMyIds().getId();
}

public void setid(String id) {
    this.tta.getMyIds().setId(id);
}

你应该有:

@Transient
public String getId() {
    return tta.getMyIds().getId();
}

public void setId(String id) {
    this.tta.getMyIds().setId(id);
}

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...