【问题标题】:Some limitations about EJB 3.0 and Toplink framework关于 EJB 3.0 和 Toplink 框架的一些限制
【发布时间】:2009-11-13 01:29:28
【问题描述】:

我有项目使用 EJB 3.0 并为模型层实现 Toplink 框架。

当使用 EJBQL 处理数据时,我发现它似乎有一些限制:

  • 它无法处理数据时间,例如查找日期的一部分,例如日、月或年
  • 在 from...to 中找不到日期时间
  • 无法比较日期时间字段
  • 它无法将类而不是实体映射到自定义的本机选择查询,因为我想从 SELECT 语句中获取列表数据,但是当我查询以防万一连接 2 个或更多表并将对象输出映射到一个类但不可能时

@PersistenceContext 私有 EntityManager em;

em.createNativeQuery("SELECT a.usertype,b.username,b.userpass FROM tablea a, tableb b WHERE a.id = b.id,MyClass.class).getResultList

.....

类 MyClass(){
字符串用户类型;
字符串用户名;
字符串用户密码;

}

你能帮我出主意吗?

提前致谢!

【问题讨论】:

  • 我不是 TopLink 专家,但 Hibernate 可以很好地完成上述所有工作,并且(可能除了最后一项)它都是在 JPA 标准内完成的;所以我有理由相信 TopLink 也能做到这一点。你能更具体地描述你的问题吗?

标签: java jpa ejb-3.0 toplink-essentials


【解决方案1】:
  • 不能,请在您的代码中执行。否则,您需要在您的条件的一侧使用特定于数据库的东西。
  • 可以,为什么不呢。您可以在查询中使用between :fromDate and :toDate,或者在NamedQuery 中使用> :fromDate< :toDate。问题出在哪里。
  • 可以。和上一个类似,改用=符号
  • 可以使用@SqlResultSetMapping。参考this

【讨论】:

    猜你喜欢
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    相关资源
    最近更新 更多