无法在 GAE 上的 Hibernate 查询提取中查看字段的值

发布于 2024-12-23 09:56:11 字数 1266 浏览 1 评论 0原文

无法在 GAE 上的 Hibernate Query Fetch 中查看字段的值。

Query query  = session.createSQLQuery("select s.id,e.firstName, e.middleName, e.lastName, es.title as empStatusTitle,e.transportMode as trModeId," +
        " tr.title as trMode" +
        " from SecurityPrincipals as s " +
        " left join Employee as e on e.userId=s.id " +                  
        " left join EmployeeStatus as es on e.employeeStatus = es.id " +        
        " left join TransportationModes as tr on e.transportMode = tr.id " +                    
        " where s.id= :userId").setResultTransformer(new AliasToBeanResultTransformer(EmployeeDTO.class));

query.setParameter("userId", userId);

当我调用employeeDTO.getTrMode()时,employeeDTO.getEmpStatusTitle正确获取了所有值并在本地计算机中正常运行。但是当我尝试在GAE上部署时,该值没有进入view.jsf,但在本地运行时它就在那里。我EmployeeDTO.java 中有所有这些的 getter 和 setter。所有其他如名字、中间名、姓氏都没有问题。

我的employeeView.jsf是:

<h:outputText value="Transport Mode" />
<h:outputText id="transportMode" value="#{employeeView.employeeDTO.trMode}" style="font-weight:bold" />

<h:outputText value="Employee Status" />
<h:outputText id="employeeStatus" value="#{employeeView.employeeDTO.empStatusTitle}" style="font-weight:bold" />

Cannot view values for the fields in Hibernate Query Fetch on GAE.

Query query  = session.createSQLQuery("select s.id,e.firstName, e.middleName, e.lastName, es.title as empStatusTitle,e.transportMode as trModeId," +
        " tr.title as trMode" +
        " from SecurityPrincipals as s " +
        " left join Employee as e on e.userId=s.id " +                  
        " left join EmployeeStatus as es on e.employeeStatus = es.id " +        
        " left join TransportationModes as tr on e.transportMode = tr.id " +                    
        " where s.id= :userId").setResultTransformer(new AliasToBeanResultTransformer(EmployeeDTO.class));

query.setParameter("userId", userId);

When I call employeeDTO.getTrMode(),employeeDTO.getEmpStatusTitle got all values correctly and running properly in local machine.But when I try to deploy on GAE the value is not getting in the view.jsf but it is there when running locally.I have getters and setters for all these in EmployeeDTO.java. All others like firstName,middleName,lastName has no problem.

My employeeView.jsf is :

<h:outputText value="Transport Mode" />
<h:outputText id="transportMode" value="#{employeeView.employeeDTO.trMode}" style="font-weight:bold" />

<h:outputText value="Employee Status" />
<h:outputText id="employeeStatus" value="#{employeeView.employeeDTO.empStatusTitle}" style="font-weight:bold" />

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怪我闹别瞎闹 2024-12-30 09:56:11

由于一切都在本地运行,因此您的代码和查询可能没问题。由于它不适用于 GAE,因此可能存在一些不同的环境。数据库不同或配置不正确。您应该放入一些错误检查代码以确保查询确实有效。

Since it all works locally, then your code and query are probably fine. And since it does not work on GAE, then there is probably something environmental that's different. The database is different or not configured properly. You should put some error checking code in to make sure the query is actually working.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文