ORMLite外部@DatabaseField与逆映射?

时间:2011-06-07 17:55:26

标签: ormlite

我正在实现一个小项目,我想知道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文档中找到任何关于此的内容。这不是一个功能,还是我错过了一些东西?

1 个答案:

答案 0 :(得分:1)

  

我对这个问题感到有点困惑,但我想我还是试着回答它。

我不明白这将如何起作用@ilikeorangutans。我假设单个作者有多个博客帖子?那么如何才能在帐户渠道上设置一个blogpost_id?您可以拥有一个包含author_idblogpost_id的联接表,但这只会增加复杂性。

如果您查看this discussion和此webpage,您可以看到Hibernate的逆映射是关于谁控制关系并负责更新行。在这两种情况下,BlogPost都会有author_id而不是相反。

ORMLite 支持“外国集合”的概念,您可以通过将BlogPost添加到Author中的集合来向数据库添加{{1}}宾语。有关详细信息,请参阅foreign collection documentation

对不起,如果我错过了什么。

相关问题