问题标签 [metamodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2845 浏览

java - JPA2 - 如何在 OpenJPA 的联接中按嵌入式复合主键中的字段排序

我正在尝试使用 Criteria Query API + RAD/Dali 自动为 WebSphere v8.0.0.5 上的 OpenJPA 2.1.2-SNAPSHOT 生成的静态规范元模型复制以下工作查询:

我有四个实体构成了这个查询的核心:

  • 中心.java
  • 状态.java
  • HoursOfOperation.java
  • HoursOfOperationPK.java

每个州有许多中心。每个中心有很多 HoursOfOperations。我需要返回一个结果集,其中包括中心信息、州缩写和中心的营业时间,按工作日数字 1-7 排序,代表周一 - 周日。

这是我的方法:

我已经注释掉了我坚持的那一行。我认为我必须调用一些方法来实例化某种 HoursOfOperationPK 实例,就像我使用Join<Center, HoursOfOperation> hop. 我认为这样做可以让我使用类似cq.orderBy(cb.asc(hopPk.get(HoursOfOperationPK_.weekdayNumber))); 我如何实现这种类型的东西?

其次,如果我不使用cq.select(center).distinct(true);,我会返回 49 条记录而不是 7 条记录。这是为什么?唯一将记录计数减少到 7 是附加到选择的不同方法。我了解 DISTINCT 在 SQL 中的作用,但我的 ANSI 风格的 SQL 语法最多只返回 7 条记录。

OpenJPA 日志输出表明 OrderBy 已应用于 HoursOfOperation.centerId。

以下是 HoursOfOperation 和 HoursOfOperationPK 实体的相关部分:

编辑 @perissf我能够生成所需的结果,而不需要ASC使用的显式顺序(由于 weekdayNumber 是 Hours of Operations 表的复合主键的一部分,因此似乎隐含地发生了排序。我宁愿有显式排序不过,因为它可以帮助我解决我可能不太幸运的其他问题):

但是,我也能够使用以下方法生成所需的 SQL,但唯一的问题是中心的 hoursOfOperation 未设置(由于延迟加载。center.Fetch(Center_.hoursOfOperation)创建了重复记录。有人有解决方案吗?):

0 投票
3 回答
2895 浏览

class - UML 类图元模型

我在哪里可以找到简化的类图元模型?这是一个 ATL ATLAS 转换语言项目,我需要将实体类图转换为 SQL 数据库。谢谢你 。

0 投票
1 回答
286 浏览

hibernate - 休眠实体导出

我的任务是通过休眠导出数据库。起点是我模型中的任何实体。所选实体必须浏览其所有引用对象并将其存储在我的目标模型中(与源模型相同)。你有什么想法来解决这个任务吗?

0 投票
1 回答
48 浏览

java - 处理类的元数据(对属性的引用)

我正在尝试设置一个小型元模型以引用多个类的某些属性。

示例:使用下面的类,我只想存储Person.namePerson.surnameMetaManager.config问题是,我不想存储 and 的值namesurname而是对该字段的引用。通过存储该字段的这些引用,稍后我可以检索我将传递给的任何实例的nameand 。surnamePersonMetaManager.getValues()

此代码类似于Metamodel API,尽管我不确定是否应该使用它(因为 Metamodel 是其中的一部分,persistence并且与 无关persistence)。Person_.name在此 API 中,使用EntityType对象进行引用是这样的。

问题是,我可以通过什么方式存储对这些属性的引用,以便稍后从实例中检索这些属性的值?

下面的代码给出了我要完成的工作的草图。正如你所看到的,我的问题是在Person.getValue()这个toString()引用上(一个引用ssn会因此返回"ssn")。

0 投票
1 回答
490 浏览

code-generation - 使用 ecore 元模型生成 xtend2 代码

我创建了一个 ecore-Metamodel、一个 genmodel 和一个相应的模型。现在我想从中生成代码。

我找到了这篇文章并想实施它。我没有收到任何错误等等,但是如何使用 CodeGenerator 在像“test.txt”这样的文件中生成所需的输出(从引用的问题中获取该示例)?

我需要工作流文件 (mwe2) 还是遗漏了什么?

0 投票
1 回答
429 浏览

uml - UML2 元模型中参与者和用例之间的关联

我试图理解 UML2 元模型为用例图中的参与者和用例之间的关联定义的规则。我了解参与者和用例可以参与泛化(因为它们是从分类器派生的,这增加了泛化的可能性),并且我了解用例可以与其他用例具有扩展/包含关系(因为它直接定义在用例图规范)。这是用例元模型图的一部分:

在此处输入图像描述

如您所见,在此图中,参与者和用例之间根本没有关联。这只能意味着由于参与者和用例的共同超类型(可能是 BehavioredClassifier 或 Classifier)而允许关联。所以我的问题是:

  • 元模型层次结构中的哪些元(类)或元素负责参与者和用例之间的关联?

另一件令人困惑的事情:有一个约束说:

参与者只能与用例、组件和类关联。此外,这些关联必须是二元的。

但是没有为用例定义等效约束(二进制事物除外)。这是否意味着关联总​​是属于参与者,而用例不知道它们与参与者的关联?规范可以在这里找到,谢谢。

0 投票
1 回答
2067 浏览

uml - UML 元模型:派生、派生联合和子集

如果您曾经使用过 UML 的元模型,那么您可能知道联合和子集的概念——据我所知:

  • 标记为“派生联合”的元素/类的属性和关联不能直接使用。在更具体的子类中,您可能会找到可以使用的子类,只要它们本身没有被标记为派生联合。
  • 派生”(没有联合)属性和关联在更具体的类中也有子集,但与上面不同,您可以直接使用它们而无需在更具体的类中查找子集

我的问题:

  1. 这有意义还是我在这里走错了路?
  2. 您可以在某些属性/关联前面找到“/”(斜杠)的含义是什么,它们在子类中有子集?例如 /general : 分类器[*]
0 投票
1 回答
79 浏览

xml - 将默认 XML 内容实例化到 XSD 的绑定规则

考虑以下 XSD 片段:

现在考虑一个基于 XML 的应用程序,当使用此 XSD 创建新文档时,默认情况下应该实例化一些具有特定值的元素。例如:

我可以将此行为硬编码为我的应用程序业务逻辑的一部分。

但是,考虑到我可能希望为部署我的应用程序的不同组织自定义这些默认人员。

在我看来,一个更优雅的解决方案(比硬编码,具有一定的可配置性)是以某种方式将默认实例化规则绑定到 XSD 中描述的特定元素,也许使用我不知道的其他技术或标准的。

是否存在这样的技术或标准?或者也许还有其他我没有考虑过的方法来实现这一点?

0 投票
1 回答
5214 浏览

maven - Eclipse 使用生成的类报告代码的编译错误

我有一个使用 JPA 2.0 元模型的 Maven 项目。我将 M2e 配置为在其构建生命周期中使用 maven-processor-plugin 和 build-helper-maven-plugin。结果是:在target/generated-sources/annotations中生成了JPA 2.0 Metamodel类,并且全部编译成功(我查看了生成的.war文件,生成的类都在里面)。但是,Eclipse还是报了编译错误
我的环境:JDK 1.6 更新 43 x64,Eclipse Juno SR2,M2e 1.4.0。
我的配置如下:
对于 build-helper-maven-plugin (in <build><plugins>):

对于 maven-processor-plugin (in <build><plugins>):

对于 maven-compiler-plugin (in <build><plugins>):

对于 m2e (in <build>):

实体类:

元模型类:

使用生成的元模型类的类:

我已经右键单击 > Maven > 更新项目... > 从 pom.xml 更新项目配置,但 .classpath 文件仍然不包含生成源文件夹中的任何条目。
任何人都可以给我一个提示吗?谢谢你。

0 投票
2 回答
30916 浏览

java - JPA Criteria API:用于可选关系的 LEFT JOIN

我基本上是第一次使用 Criteria API。这是关于为通用构建器抽象查询:

默认情况下,该调用会为在实体上找到的所有关系criteriaQuery.from( genericClass );生成 SQL INNER JOIN。这是一个问题,因为每个为空NULL的关系(数据库或不使用外键且具有无效引用的数据库)这些实体将在结果列表中丢失,从而有效地产生错误的搜索结果。

可以在这里找到一个示例:JPA Criteria query Path.get left join is it possibile

对于此类/方法实例化的查询,我希望发生的是,实体上的所有关系,here genericClass,都映射为optional = true

生成 SQLLEFT (OUTER) JOIN而不是INNER JOIN.

问题

有标准的 JPQ 方法来完成这项工作吗?如果是这样,怎么做?

PS:通常没有办法事先知道具体类型,所以我可能能够实现我需要的唯一方法是使用某种元模型并手动生成连接(我想避免)。


我们正在使用 EclipseLink 2.3