我有以下实体:
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="orderType", discriminatorType=DiscriminatorType.STRING)
@DiscriminatorValue(value="BASE")
@Table(name = "orders")
public class OrderEntity implements Serializable {
...
Run Code Online (Sandbox Code Playgroud)
和
@Entity
@DiscriminatorValue(value="RECURRING")
public class RecurringOrderEntity extends OrderEntity{
...
Run Code Online (Sandbox Code Playgroud)
我可以使用以下jpql找到所有子类(RecurringOrderEntity):
Query q = em.createQuery(
"SELECT o from RecurringOrderEntity o where "
+ "o.cancellationDate is null "
+ "and o.maxOccurrences = o.occurrence");
Run Code Online (Sandbox Code Playgroud)
什么是寻找JPQL语法仅是实体没有的情况下,RecurringOrderEntity?
我使用Eclipselink 2.0.0作为JPA提供程序.
谢谢!
我有一个@Stateless @Local Bean成功部署在耳朵里.当我浏览JNDI树时,我可以看到新的EJB 3.1标准全局JNDI名称.(JAVA的:全球/产品/产品EJB /产品经理)
我想在同一个应用服务器上的不同应用程序中使用此EJB .我是否需要为此EJB添加远程接口?
我有一个名为Surgery的JPA 2实体.它有一个名为transfusionUnits的成员,它是一个Integer.
数据库中有两个条目.执行此JPQL语句:
Select s.transfusionUnits from Surgery s
Run Code Online (Sandbox Code Playgroud)
产生预期的结果:
2
3
Run Code Online (Sandbox Code Playgroud)
以下语句产生5的预期答案:
Select sum(s.transfusionUnits) from Surgery s
Run Code Online (Sandbox Code Playgroud)
我希望以下语句的答案是2.5,但它返回2.0.
Select avg(s.transfusionUnits) from Surgery s
Run Code Online (Sandbox Code Playgroud)
如果我在另一个(Float)成员上执行语句,结果是正确的.有关为什么会发生这种情况的任何想法?我需要在JPQL中进行某种转换吗?这甚至可能吗?当然,我在这里遗漏了一些微不足道的东西.