使用 JPA 和 Hibernate
我有一个实体类
@Entity
@Table(name = "ROLES")
public class Role implements Serializable
{
@Column
private List<String> tubes;
// another fields .setters, getters
}
列表管中的每个字符串- 是另一个表 (TUBES) 中的一行。
表 ROLES 与 TUBES 具有 OneToMany 关系。
A可以制作另一个Entity Tubes并在Entity Tubes上映射表TUBES。但是我怎么能在没有另一个实体的情况下做到这一点呢?
编辑:
我做了
@ElementCollection
@CollectionTable(name = "TUBES", joinColumns = @JoinColumn(name = "role_id"))
@Column(name = "tube")
private ArrayList<String> tubes;
部署在 JBoss 上。在运行时我得到 SQLGrammarException
JPA 创建的查询是:
/* SELECT r FROM Role r WHERE r.name = ? */ select role0_.AA_ID as AA1_0_, role0_.ROLNAME as ROLNAME0_, role0_.role as PID4_0_ from PIDDB_PID_ROLE role0_ where role0_.ROLNAME=?
17:17:14,661 错误 [JDBCExceptionReporter] ORA-00904: "ROLE0_"."tube": 标识符无效