我有以下设置
watch
然后,我有以下Java代码:
table: table1
| id | name |
| 1 | test |
table: table2
| id | table1_id | value |
| 1 | 1 | ENUM1 |
| 2 | 1 | ENUM2 |
但是,当我尝试运行我的Spring启动应用程序时,我收到以下错误:
引起:org.hibernate.AnnotationException:使用@OneToMany或@ManyToMany定位未映射的类:$ {package} .Table1.enumValues
你知道我该做什么吗?
答案 0 :(得分:1)
@Enumerated
表示TheEnum
对象是否存储为数据库中的int或字符串。
您希望将集合enumValues
映射到表TABLE2
。使用此代码:
@ElementCollection(targetClass = TheEnum.class)
@JoinTable(name = "TABLE2", joinColumns = @JoinColumn(name = "table1_id"))
@Column(name = "enumValues", nullable = false)
@Enumerated(EnumType.STRING)
Set<TheEnum> enumValues;