java - 创建实体和非实体对象之间的关系

标签 java hibernate jpa orm many-to-many

我的 web 应用程序中有一些名为 Site 的域对象。 站点将包含 IP 地址列表,即

@Entity
class Site {

    ...

    @ManyToMany(fetch=FetchType.LAZY)
    public Set<String> ips= new HashSet<String>();

    ...

}

但是当我尝试启动 webapp 并出现错误时,hibernate 已关闭:

Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: my.webapp.Site.ips[java.lang.String]

有什么问题吗?

最佳答案

如果您与实体没有关系,则无法使用关系注释(即@ManyToMany)。如果您有基本类型(如本例中 - String),您应该使用 @ElementCollection

关于java - 创建实体和非实体对象之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8019850/

相关文章:

JPA 2 实现基准比较

java - 使用 mockito 进行参数命名查询测试

java - 类型为 numberDecimal 的 EditText 不允许以 0 开头的值

java - 如何使用 Spring Data REST 按类型获取所有投影

java - equals 方法是否适用于对象?如果是这样,如何?

java - Hibernate oneToOne 加入附加条件

java - TestNG - @AfterMethod 的优先级

java - 在没有注释的情况下将 Hibernate 迁移到 JPA

hibernate - 强制 Spring/JPA/Hibernate/JDBC 重试失败的 beginTransaction?

java - JPA 多对一关系 CascadeType 行为