ORMLite ManyToOne 的好友 JoinColumn 注解未处理

发布于 2024-12-02 17:39:22 字数 574 浏览 2 评论 0原文

我一直在Android上摆弄ormlite。现在还处于早期阶段,到目前为止我真的很喜欢我所看到的。

在阅读手册时,我注意到可以使用 javax.persistence 注释而不是默认注释。当尝试定义 @ManyToOne 关系时,我有点困惑。通常我使用 @JoinColumn(name="xxx") 来用 @ManyToOne 定义列名,即。不是@Column(name="xxx")。我是对的吗,或者我应该以不同的方式看待这个问题。

我快速浏览了一下,认为对 com.j256.ormlite.misc.JavaxPersistence.java 进行一些小的添加就可以解决这个问题。基本上是复制处理 @Column 的代码来代替处理 @JoinColumn (可能没有“长度”)。

这也让我想知道使用标准 ormlite 注释和 javax.persistence 注释是否存在任何问题。诸如以下问题:

  • 标准注释是否优先?以及
  • 是否可以禁用 javax.persistence 注释的处理?

I have been fiddling with ormlite on android. It's early days and so far I really like what I have seen.

While reading the manual I noticed the ability to use javax.persistence annotation instead of the default. When trying to define a @ManyToOne relationship I cam a little unstuck. Normally I use a @JoinColumn(name="xxx") to defined the column name with a @ManyToOne, ie. not the @Column(name="xxx"). Am I right, or should I be looking at this a different way.

I had a quick look and thought a few small additions to com.j256.ormlite.misc.JavaxPersistence.java would resolve this issue. Basically the duplicating the code to handle the @Column to instead handle the @JoinColumn (maybe without the "length").

This also left me wondering is there were any issues with using both the standard ormlite annotations as well as the javax.persistence ones. Questions like:

  • do the standard annotations take precedence?, and
  • can the processing of javax.persistence annotations be disabled?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

生死何惧 2024-12-09 17:39:22

不幸的是@user928550,ORMLite并不完全支持javax.persistence注释。手册中定义了对它们的有限支持:

http://ormlite.com/docs/jpa

我很乐意改善对他们的支持,如果您想就如何进行提出建议。请使用 ORMLite 开发人员邮件列表来建议您添加内容:

http://groups.google.com/group/ormlite-dev< /p>

回复您具体问题,@DatabaseField 注释的存在将覆盖任何 javax.persistence 注释处理,并且您无法禁用 javax.persistence 的处理(除非你指定一个@DatabaseField)。

Unfortunately @user928550, the javax.persistence annotations are not completely supported by ORMLite. The limited support for them is defined in the manual:

http://ormlite.com/docs/jpa

I'd be happy to improve the support for them if you want to make suggestions about how to proceed. Please use the ORMLite developers mailing list to suggest your additions:

http://groups.google.com/group/ormlite-dev

In answer to you specific questions, existence of the @DatabaseField annotation will override any javax.persistence annotation processing and you cannot disable the processing of javax.persistence (unless you specify a @DatabaseField).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文