问题标签 [many-to-one]
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.
many-to-one - ORMLite ManyToOne 的好友 JoinColumn 注释未处理
我一直在摆弄android上的ormlite。现在还很早,到目前为止,我真的很喜欢我所看到的。
在阅读手册时,我注意到使用javax.persistence
注释而不是默认值的能力。当试图定义一种@ManyToOne
关系时,我有点卡住了。通常我使用 a@JoinColumn(name="xxx")
来定义列名@ManyToOne
,即。不是@Column(name="xxx")
。我是对的,还是我应该以不同的方式看待这个问题。
我快速浏览了一下,并认为添加一些小的内容com.j256.ormlite.misc.JavaxPersistence.java
可以解决这个问题。基本上复制代码来处理@Column
而不是处理@JoinColumn
(可能没有“长度”)。
这也让我想知道使用标准 ormlite 注释以及使用这些注释是否存在任何问题javax.persistence
。像这样的问题:
- 标准注释是否优先?
javax.persistence
可以禁用注释处理吗?
java - 与单个映射表的多个关系而不通过 Hibernate 生成外键
我有两个基本抽象类,并且有多个从这两个派生的附加类,添加附加属性等。
这些特定的派生类型之间存在关系。
一个简单的说明示例:
Role
和Group
类是abstract
,但它们没有标记为@MappedSuperclass
。
InheritanceType.JOINED
正在使用策略,因此表Role
(对于抽象类)和AdminRole
(对于派生类)都应该存在(它们都将具有相同的RoleID
)。
DiscussionGroup
有一个AdminRole
属性, aSet<DiscussantRole>
, aSet<ManagerRole>
WorkingGroup
有Set<WorkerRole>
,Set<ManagerRole>
因为派生类的数量可以增长,并且因为派生自 Role 的类可以与派生自 Group 的不同类有关系(反之亦然),这将导致大量不同的映射表(Worker_DiscussionGroup、Worker_WorkingGroup)或多个外键列(在 M:1 关系中 - 例如,ManagerRole 必须具有 DiscussionGroupID 和 WorkingGroupId)。我想通过一个通用映射表来映射所有这些关系。
在当前开发过程中,我们使用Hibernate 生成 DDL 模式 (hbm2ddl.auto=create)(我们将使用静态模式定义供以后的生产使用)。Hibernate 自动为关系创建外键,这对我们来说非常好。
如果我指示它使用相同的映射表进行连接(对于多对多、多对多和一对一),它也会尝试创建外键。当然不可能同时在 from to 上创建外键,RoleID
所以Role_Group
我得到一个错误。AdminRole
DiscussantRole
有什么办法,如何指示Hibernate
生成没有外键的选定关系
或者
定义关系应该基于抽象祖先(即 DiscussionGroup 及其 Set 应该映射为 1:N - Group and Set)?
sql - SQLite 在同一张表上离开了两次连接
我有一个表,其中有几列包含另一个表的 ID。例子:
所以 ,p1
和p2
是p3
来自 的 ID T2
。我想要做的是全选T1
并从中获得名称值T2
。
这就是我现在使用的:
这应该怎么做?有什么我应该担心的速度问题吗?
谢谢你。
java - org.hibernate.AnnotationException: @OneToOne 或 @ManyToOne on引用未知实体
我收到以下休眠异常:
在与不同的人一起解决这个问题大约 20 个小时后,阅读了所有可能的博客或论坛,我真的在这里绝望了。
这是一个中型项目。我应该提到数据库是 Postgres 9.1,我们使用建模工具生成数据库。Hibernate 连接到数据库但不生成它。
我在数据库中创建了一个新实体,称为“KonfiguracniTemplate”(配置模板)。我创建了模型、控制器、表单、验证器、.jsp,基本上都是从类似性质的现有实体中 1:1 复制的。我现在可以使用 KonfiguracniTemplate,CRUD 可以正常工作了。
当我从名为 Switchport 的实体中引用此 KonfiguracniTemplate 时,问题就出现了。在数据库中,两者之间存在关系:
- Switchport 1:1 ... 0:N KonfiguracniTemplate(switchport 总是引用一个 KonfiguracniTemplate;一个 KonfiguracniTemplate 可以被引用零次或多次)
- Switchport 具有此关系的 FK konfiguracniTemplateAccess_id。
在 .../model/Switchport.java 中,关系被映射,就像所有其他正在工作的关系一样:
我尝试了各种形式:
或者
我还检查了:
- 两个实体都在同一个包中
- 它们都使用“import javax.persistence.Entity;”注释为“@Entity”
- 构建不会产生错误/警告消息
- 只要将Switchport中的引用注释掉就可以了
无论我尝试什么,我都无法摆脱“引用未知实体”异常。有人可以分享一下正在发生的事情或者如何调试问题吗?帖子顶部的堆栈跟踪是我在日志中得到的全部内容。
非常感谢所有输入!
java - 在 django 和 playframework 中进行多对一映射
我需要为 django 和 Play 中的应用程序建模客户和地址!我相信两个客户可以有相同的地址。
客户和地址之间的多对一关系
在 django 中,下面的这个 python 代码是否给出了类似的映射?
创建的表格会是什么样子?我在这里有点困惑..
sql - 帮助管理查找的多对一结果
我没有看到这个问题,所以我希望不是。
我有一个表,其中包含多个包含代码变量的列,以及一个包含整个数据库的所有查找代码和描述的表。有没有办法加入查找值,以便所有内容都保持在一行上,而不是我得到的结果是一行具有种族值而一行具有性别值。谢谢。我正在使用 TOAD,但了解 SQL。
nhibernate - 流利的 NHibernate 一对多与干预连接表?
我无法让 Fluent Nhibernate Automapper 创建我想要的东西。我有两个实体,它们之间存在一对多的关系。
以上显然是简单的框架,但我希望生成以下内容的充实模式:
不幸的是,我得到的是:
我不希望在部门表中包含 Person 的 FK,我想要一个单独的联接/查找表(上面的 PersonDepartment),其中包含两个表的主键作为复合 PK 和 Fks。
我不确定我是否错误地绘制了我的初始类(也许应该只是 LIst workIn - 表示 id,而不是 List worksIn),或者我是否需要手动映射它?
这可以做到吗?
zend-framework - Zend 框架,教义 2 @ManyToOne
我基本遵循这个http://www.zendcasts.com/one-to-many-with-doctrine-2/2011/03/教程到步骤(可以从那里下载源代码)。一切正常,所以我得到了 2 个实体 - 购买和用户。如果我查询用户一切都很好,但如果我查询购买,像这样:
我会得到一个致命错误:
但如果我在购买中评论这一行:
一切正常。所以@ManyToOne注解一定存在某种问题。有谁知道如何处理它?也许有一些解决方法?
非常感谢解答。。
我正在使用 PHP 5.3.8
python - Django计算多对一关系的特定项目
我有一个 Django 应用程序,用户可以在其中发布消息,其他用户可以对答案进行投票,这与 SO 非常相似。我在尝试从模板中获取“竖起大拇指”和“竖起大拇指”计数时遇到问题,我希望有人可以帮助我。PostVote 与 Post 类是多对一的关系。这是我的模型的样子:
以下是我获取帖子的方式:
我的模板大致如下:
我怎样才能得到那里的计数?我确信它以某种方式涉及“注释”,但我很难想出这个。任何帮助将不胜感激!