当前位置: 首页 > 面试题库 >

Java Hibernate Criteria选择子类

商麒
2023-03-14
问题内容

我想使用Criteria API通过从搜索值中获取输入来选择实体。一个文档可以有更多的收件人。收件人有许多子类

@Entity
public class Document implements Serializable {
  @OneToMany(mappedBy="document")
  private List<Recipient> recipients = new ArrayList<Recipient>();


@Entity
public class RecipientAccount extends Recipient {
  String name;

如何选择所有带有特定名字的ReciepientAccount的文档?我需要搜索所有子类并将它们与OR连接。有优雅的方法吗?

问候m


问题答案:

以下应该工作:

Criteria c = session.createCriteria(Document.class, "document");
c.createAlias("document.recipients", "recipient");
c.add(Restrictions.in("recipient.class", Arrays.asList(SubClass1.class, 
                                                       SubClass2.class,
                                                       SubClass3.class)));
c.add(Restrictions.eq("recipient.name", theName));


 类似资料:
  • 引用脚本的内容: SetCompressor /SOLID /FINAL lzma XPStyle on !include "MUI.nsh" !insertmacro MUI_LANGUAGE "SimpChinese" Name "Test" OutFile "Test.exe" Caption "Test" !include "WinMessages.nsh" !include "File

  • 子选择器(E > F),就是只选择元素的直接后代(即子元素),而不选择其它后代的选择器。这就是子选择器与后代选择器的区别。子选择器中,> 两侧的空白符是可选的。 在上一节导航菜单的例子中,假如我们希望第一级列表项的链接文本的字体加粗显示。因为第一级列表项是 ul 的子元素,这时,就可以使用子选择器来实现。如: ul > li a { font-weight: bold;}

  • 我有这个: 我想选择类为col-md-4,6,8,12的排班的孩子。有没有什么好办法一次全选? 可以有多个行DIV,我将使用wrapAll将每个行DIV的子级包装到其他DIV中。所以如果我使用wrapAll,它只是将其他行div的所有内容转移到第一个行div。如果我将选择器查询放在循环内部,它只是继续包装子项乘以行divs的数量。我不想让这种事发生。 你们听懂了吗?

  • 问题内容: 我对这两个选择器有些困惑。 后代 选择器是否: 选择所有内它是否是一个即时descedent?因此,如果处于另一个之内,它将仍然被选中? 然后是 子 选择器: 有什么不同?一个孩子意味着 直系 孩子吗?例如。 与 是否都会被选中? 问题答案: 只要想一想英语中的“孩子”和“后代”是什么意思: 我的女儿既是我的孩子,又是我的后代 我的孙女不是我的孩子,但她是我的后代。

  • 问题内容: 我正在尝试填充的列表。但是,我尝试检索的列表是另一个类的一部分,该另一个类是基类中的变量。 这就是我所拥有的,而且我不确定这是否可行或如何实现。 我有一个以下课程: 然后我有一个以下课程: 然后在我的xhtml页面上,我有以下内容: 但是,这似乎根本没有在类中调用方法。当网页加载完成,选择框为空,并且控制台没有的输出从方法。 我对JSF有点陌生,我已经尝试过尽我所能,但是我不太确定搜索

  • 问题内容: 在SQL Server中, 您可以这样编写嵌套的SQL: 这样,我可以获得一个可以嵌套到其他查询中的临时表T。 但是我不能在oracle SQL中做同样的事情 它给我 选择*有效,但这不是我想要的。有人知道该怎么做吗? 问题答案: 无论我显式指定别名还是指定,您发布的查询都对我有效。收到异常后,您可以发布正在运行的确切查询吗? 我的猜测是您要选择不带双引号的内容。如果在Oracle中使