ORMLite国外@DatabaseField与逆映射?
我正在实施一个小型项目,我在想,ORMLite是否支持@DatabaseMapping
的逆映射。 我正在寻找的是类似于JPA / Hibernates的逆映射。 以下是假设的而且很愚蠢的例子,一张BlogPost
:
@DatabaseTable public class BlogPost { @DatabaseField(foreign = true) private Author owner; }
和相应的Author
类,并不那么重要:
@DatabaseTable public class Author { }
这导致了下面的SQL(只是相关的部分):
CREATE TABLE blogpost ( ... , owner_id INTEGER NOT NULL, ... ) CREATE TABLE author ( ... )
看看表blogpost现在如何拥有作者的外键。 不过,我更喜欢这种方式,即作者应该有一个blogpost_id外键。 (我告诉过你这是一个愚蠢的例子......)。
通过逆映射,我可以利用级联进行删除,但是我还没有在ORMlite文档中找到任何关于此的信息。 这不是一个功能,还是我只是错过了一些东西?
我对这个问题有点困惑,但我想我会试着回答它。
我不明白这将如何工作@ilikeorangutans。 我认为一个作者有多个博客帖子? 那么账户频道上怎么会有一个blogpost_id
? 你可以有一个包含一个连接表author_id
和blogpost_id
但只是增加了复杂性。
如果你看看这个讨论和这个网页,你可以看到Hibernate的逆映射是关于谁控制关系并负责更新行。 在这两种情况下, BlogPost
都会有author_id
而不是相反。
ORMLite确实支持“外部集合”的概念,您可以通过将BlogPost
添加到Author
对象中的集合来将其添加到数据库。 欲了解更多信息,请参阅外国收集文件。
对不起,如果我错过了什么。
链接地址: http://www.djcxy.com/p/68667.html