在 Hibernate 中映射 EnumSet

发布于 2024-10-07 14:54:28 字数 383 浏览 1 评论 0原文

如何将 EnumSet 存储在数据库中(使用 Hibernate)?

@Entity
public class A
{
 public static enum SOME_ENUM { A, B, C };

 private EnumSet<SOME_ENUM> myEnumSet = EnumSet.of(SOME_ENUM.A, SOME_ENUM.B);

 ...
 ...
}

如果我尝试坚持上述内容,我当然会得到例外。 我想使用@CollectionOfElements,但它已被弃用。 @CollectionOfElements 有其他选择吗?

有没有办法将 EnumSet 存储在单列中而不写入 UserType?

谢谢!

How to store EnumSet in the DB (using Hibernate)?

@Entity
public class A
{
 public static enum SOME_ENUM { A, B, C };

 private EnumSet<SOME_ENUM> myEnumSet = EnumSet.of(SOME_ENUM.A, SOME_ENUM.B);

 ...
 ...
}

If I try to persist the above, I get exception of course.
I wanted to use @CollectionOfElements, but it is deprecated. Is there any alternative of @CollectionOfElements?

Is there a way to store EnumSet in a single column without writing UserType?

Thanks!

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

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

发布评论

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

评论(1

叹梦 2024-10-14 14:54:28

hibernate 没有内置对此类事物的支持。请注意,在处理 hibernate 和集合时,您实际上应该只指定一个接口;在本例中设置。 Hibernate 代理所有集合,因此它可以有效地处理延迟加载。

这并不是说这很困难。请参阅此文档

https://forum.hibernate.org/viewtopic.php?p=2300843< /a>

hibernate does not have built in support for such things. Note that when dealing with hibernate and collections you should really only be specifying an interface; in this case Set. Hibernate proxies all collections so it can efficiently deal with lazy loading.

This is not to say this is difficult. See this documentation

https://forum.hibernate.org/viewtopic.php?p=2300843

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