问题标签 [embeddable]

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 回答
1955 浏览

hibernate - 在 embeddable/embedded-id 中使用休眠序列生成器

在 Hibernate 中,是否可以将 @GeneratedValue 和 @SequenceGenerator 与 @EmbeddedId 或 @Embeddable 一起使用?

我需要一个用于嵌入 ID(或 @embeddable)的字符串序列生成器。

0 投票
0 回答
602 浏览

java - 静态元模型不包含 @Embeddable 类的属性

我有一个像这样的可嵌入模型类:

但生成的静态元模型不包含属性:

我通过这样的maven启用了生成:

我在这里看到一些帖子显示属性存在于可嵌入类的静态元模型中,我不明白为什么它在我的情况下不起作用。

我正在使用 Hibernate 4.3.6.Final

提前感谢您的帮助!

0 投票
1 回答
699 浏览

java - Hibernate 持久化 @Embeddable 对象集抛出异常

我的课程看起来与此类似:(提供课程)

和产品类别:

问题是当我尝试保留 Offer 实体并尝试将两个对象添加到 Offer 的 Set 时:

我收到异常:

我不知道为什么当其中一个具有相同的“金额”字段值时,我不能在 Set 中保留两个可嵌入对象?它以某种方式被视为ID吗?

也许我不应该创建可嵌入对象的列表,因为它不是为这样使用而设计的?如果是这样 - 那么如果我不需要 Product 实体但想将其保留在另一个实体(报价)中怎么办?

提前感谢您的帮助

0 投票
0 回答
845 浏览

java - Hibernate NonUniqueObjectException:具有相同标识符值的不同对象已与会话关联

我知道有很多人有同样的问题,但我尝试了很多解决方案,而且总是同样的问题,这就是为什么我再问一次。

sql

在我的案例中,我有 3 节课

区域.java

ZoneStation.java

和 ZoneStationId.java

ZoneDetail 是如何包含来自 jsp 的信息以创建区域的类:

ZoneDetail zoneDetail = new ZoneDetail(); zoneDetail.initFromScreen(params);

和 ZoneDetail.java

public class ZoneDetail implements java.io.Serializable { private java.lang.String code; private java.lang.String name; public static final int NB_DETAIL_STATION = 10; public String[] listStation = null;

和 initFromScreen

我尝试创建一个新区域:

当我在之后进行调试时

我有Hibernate NonUniqueObjectException 真的 2 天我尝试了不同的解决方案,我不检查我的错误在哪里

对于堆栈跟踪:

感谢您的回复,并为我的英语不好感到抱歉;)

0 投票
0 回答
101 浏览

angularjs - spring jpa 可嵌入类发送 int 而不是 Object

我的 RestController 响应和我的 AngularJs 控制器之间有一个小问题。

首先,我用 $http 调用我的 rest 网络服务:

然后,我有我的弹簧 @RestController :

所以,我的问题是:

  • 我的网络服务返回一个对象 UserDetailsDto ,其中包含:

    私有列表 usersClients;

  • 此列表中的每个 UsersClients 包含:

    私有列表 usersClients;

    私人 UserClientId pkUsersClients

  • pkUsersClients 是一个 @Embeddable 对象,其中包含:

    私人用户用户;

    私人客户客户;

  • 在 angularjs 中,User 和 Client 不是 Object 而是 int。

我的课程 :

  • 我的 DTO 是响应

    /li>
  • 我的关联表:

    /li>
  • 最后,我的可嵌入类:

    /li>

编辑:使用 chrome 开发工具,我可以看到 client = "1" 但 user 是一个对象。现在,问题是我的回复包含:

你可以看到这有点令人不安:/

请给我一些帮助,我不明白我在哪里犯了错误。提前致谢。

0 投票
1 回答
612 浏览

hibernate - 如何在注解中使用一种以上的组件类型(Embedded、Embeddable)

我用谷歌搜索,但所有示例都只向我展示了一对一Component的对象,例如:

https://dzone.com/tutorials/java/hibernate/hibernate-example/hibernate-mapping-component-using-annotations-1.html

我想要二合一Component的对象,例如:

休眠映射:

Component上面有两个,homePhonemobilePhone。如何将上述Hibernate映射转换为Java注释?

0 投票
2 回答
1427 浏览

database - 需要一个可处理约 1Gb 数据集的嵌入式 NoSQL 数据库,并保存在磁盘上

我正在构建一个 Electron 应用程序,我需要为此选择一个可嵌入的 NoSQL 数据库。事实上,这个数据库应该包含存储在 ArangoDB 远程后端的本地数据子集。我一直在互联网上搜索了很多,但到目前为止未能收敛到最终的候选人。我希望有人可以根据经验给我建议。

典型的数据集可能有大约数万个文档,我可以想象随着时间的推移该集合将达到大约 1Gb 的情况。此外,我需要二级索引。

我看过 PouchDB、UnQlite、LokiJS、LevelDB、NeDB、LinvoDB ......

最后,NeDB 和 LinvoDB 似乎是具有持久性到磁盘(类似 SQlite)的合理候选者,其中 NeDB 无法处理大型数据集;NeDB 的一个分支 LinvoDB 似乎能够处理的东西。LinvoDB 不会将整个数据库加载到内存中,但默认情况下似乎会索引“所有内容”并将其保存在内存中。

另一方面,我尝试关注关于他们的索引的几个对话,其中 NeDB 似乎在他们的文档中建议它们一旦构建就被持久化到磁盘(https://github.com/louischatriot/nedb#indexing),其中然后似乎再次被 LinvoDB 否定(对不起,我在打开的大量选项卡中丢失了许多引号/来源......),表明索引将在启动时从头开始构建。(而且我也可能完全误解了 NeDB 的文档。)

基本上,我需要的是一个适用于 Electron 应用程序的 JS 数据库解决方案,它可能包含“相当多”但不是“大量”数据。应用程序的加载时间应该是合理的(即,不妨碍使用),同时是响应式的(即,数据库应该包含二级索引)并尽可能尊重用户的资源。

问题:

  1. 有没有人对上述或其他嵌入式 NoSQL 数据库有任何经验,可以为我的用例推荐这些或其他数据库中的任何一个?
  2. 如果每次我启动应用程序时确实需要从头开始重建 LinvoDB 的索引,那会不会对性能造成重大影响(加载时间大约为秒)?(当然我必须对此进行基准测试......)
  3. ArangoDB 不可嵌入,但也许我应该考虑将它作为服务部署在我的原生应用程序旁边?此链接NoSQL 数据库:ArangoDB似乎建议开发人员自己不要阻止这一点。这会矫枉过正和/或对用户不友好吗?性能受到打击?

任何建议将不胜感激。

0 投票
1 回答
2180 浏览

symfony - 错误“名称包含非法字符”,在 Doctrine 2 中可嵌入 Symfony 2,8 形式

可嵌入的 Doctrine 2 注释在 Windows 上的 Symfony 2.8 中不起作用。

@ORM\Embeddable 不起作用,我收到错误消息:名称“address.addr_line_1”包含非法字符。名称应以字母、数字或下划线开头,并且只能包含字母、数字、数字、下划线(“_”)、连字符(“-”)和冒号(“:”)。错误来自供应商...\src\Symfony\Component\Form\FormConfigBuilder.php。

似乎原因是自动生成的名称中的点:“address.addr_line_1”。

我试图禁用自动前缀,并给出自己的名称。正如我所写的那样,Doctrine 生成带有列名的表:addr_line_1。

但是生成的表单包含带有点“address.addr_line_1”的字段,虽然是错误The name xxx contains illegal characters的。

如果我addr_line_1在表单中使用,我会收到错误消息,该名称不存在。

,,

一种解决方案是在C:\Bitnami\wampstack-5.6.20-0\apache2\htdocs\sym\LearnDB\vendor\symfony\symfony\src\Symfony\Component\Form\FormConfigBuilder.php.

这行得通,生成了新表单,但我还没有继续,因为我需要在可嵌入对象中生成特殊的 getter 和 setter。似乎最好的解决方案是使用此处描述的特征: http ://russellscottwalker.blogspot.co.uk/2013/11/entities-vs-value-objects-and-doctrine-2.html

不过,如果有人知道如何在不更改 Symfony 供应商代码的情况下使 Embedable 工作,请您写信。

也许它适用于直接查询,如 SELECT o FROM Order o WHERE o.address.addr_line_1 = : line1 http://welcometothebundle.com/persist-the-money-doctrine-value-object/ 它不适用于 Symfony 形式。

0 投票
1 回答
647 浏览

spring - Spring Data REST 转换/显示 EmbeddedId,包括 ManyToOne

我对 Spring Data REST 中的项目有疑问。

我的模型包括两个带有 EmbeddedIds 的表。第一个表 (name=B) 由两个整数组成。第二个表(名称=A)由一个简单的 FK 和 B 的模型(包括 EmbeddedId)组成。

现在,如果我请求表 B,我将获得这两个 ID。但是,如果我向表 A 发出请求,我将不会获得 ID。

所以我重写了我的 EmbeddedId 类中的 toString() 方法,以至少在 URI 链接中返回 ID。

我阅读了有关 BackendIdConverter 或 Spring core.converter 并尝试正确转换 ID,但我无法达到我的目标(出现错误)。所以现在,我需要你的帮助!

为了完全理解我的问题,这是我的结构(作为演示):

0 投票
2 回答
1108 浏览

php - 可嵌入的教义

我正在尝试为值对象实现教义2 可嵌入功能。

这是一个简单的片段,根据学说官方文档稍作修改:

当我尝试从嵌入式对象访问属性时,我收到“无法访问受保护的属性”错误 - 这是预期的。可嵌入对象应该只能由它们的基实体类读取,并且不能修改,因为它们是不可变的(遵循领域驱动的设计指南)。我不明白的是,由于它们是私有/受保护的,我该如何读取它们的属性?这里有什么 PHP 魔法吗?我试图使用不同的吸气剂,例如:

但在实体管理器实例上调用持久和刷新方法之前总是会出错。

谢谢。