- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 Hibernate 新手。我正在尝试将我的父类(super class)和子类映射到一个表。
<class name="Employee" table="EmpWithManager">
<id name="id" column="ID">
<generator class="native"></generator>
</id>
<discriminator column="EMP_TYPE" type="string"></discriminator>
<property name="firstName" column="FIRST_NAME"></property>
<property name="lastName" column="LAST_NAME"></property>
<property name="salary" column="SALARY"></property>
<subclass name="Manager" extends="Employee">
<property name="managerId" column="MAN_ID"></property>
<property name="noOfEmployees" column="NUMBER_EMP"></property>
</subclass>
</class>
这工作正常,但如果更改 discriminator
标记的位置,如下所示:
<class name="Employee" table="EmpWithManager">
<id name="id" column="ID">
<generator class="native"></generator>
</id>
<property name="firstName" column="FIRST_NAME"></property>
<discriminator column="EMP_TYPE" type="string"></discriminator>
<property name="lastName" column="LAST_NAME"></property>
<property name="salary" column="SALARY"></property>
<subclass name="Manager" extends="Employee">
<property name="managerId" column="MAN_ID"></property>
<property name="noOfEmployees" column="NUMBER_EMP"></property>
</subclass>
</class>
这种重新排序给了我以下异常(exception):
Caused by: org.xml.sax.SAXParseException: The content of element type "class" must match "(meta*,subselect?,cache?,synchronize*,comment?,tuplizer*,(id|composite-id),discriminator?,natural-id?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,((join*,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,fetch-profile*,resultset*,(query|sql-query)*)".
请有人告诉我为什么会发生这种情况以及判别器的位置是否应该放在开头?
最佳答案
如果您查看 http://hibernate.org/dtd/ 的 hibernate-mapping-3.0.dtd 条目,它定义了类元素,如下所示。 Order is important 因为这是一个 DTD。请注意,discriminator?
位于 (id|composite-id)
之后,在带有 property
的长条目之前。 (当前)hibernate 文档中没有明确提及此订购要求。
<!ELEMENT class (
meta*,
subselect?,
cache?,
synchronize*,
comment?,
tuplizer*,
(id|composite-id),
discriminator?,
natural-id?,
(version|timestamp)?,
(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,
((join*,subclass*)|joined-subclass*|union-subclass*),
loader?,sql-insert?,sql-update?,sql-delete?,
filter*,
fetch-profile*,
resultset*,
(query|sql-query)*
)>
关于java - hibernate中discriminator tag位置下移会出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31841145/
如果我只知道一个 id,有没有办法在一个查询中向上/向下移动列表项 像这样的 update tbl SET list_order = CASE WHEN id = 10
我有两个并排的表格 View ,当我在两个表格中的任何一个上滚动时,我使用下面的代码使它们像一个表格一样滚动。 func scrollViewDidScroll(_ scrollView: UIScr
我知道这看起来应该很简单,但由于某种原因,我无法理解解决这个问题的算法,所以我将就这个问题与社区联系。 我有一个如下所示的类: class MapElementModel { int id;
我目前正在使用 Visual Studio 使用 C# 编写应用程序。因此,VS2010 创建了一个解决方案目录,其中包含我的项目目录。所以我的层次结构是这样的: Solution .git
我正在制作一个应用程序,在显示键盘时向上移动 View (当 iPhone 4s/5/5c/5s 时)。但是,当我使用数字 pa 键入内容时,它会触发 View 返回。 textField:shoul
我正在处理以前开发人员的遗留代码,他们使用的是 highcharts.js (v3.0.1)。 xAxis 落在图中 ( screenshot ),我无法弄清楚这是为什么。我试图在 jsfiddle
当显示标签栏时,我想向下移动我的 View Controller 内容(即整个 View )。有什么办法可以自动完成吗?还是必须以编程方式完成? 最佳答案 解决方案很简单。只需取消选中 Interfa
我最近升级到 Xcode 9-beta 和 iOS 11。当我升级到我的项目并插入播放时,我的所有 View 都被状态栏向下推了大约 20 像素,而不是状态栏直接在我的顶部看法。我有 iOS 10 的
当我使用 调用 AdMob 广告时遇到此问题 [rootController.view addSubview:adMobAd]; //setup the ad 从点击的广告返回后,AdMob 框架会向
我目前正在创建一个应用程序,它在一个 View 中包含一个 pickerView 和一个 tapbar。 View 位于屏幕底部。 tapbar 总是可见的。如果我点击 tapbar 上的按钮, Vi
我是一名优秀的程序员,十分优秀!