我在Users实体类下面有以下成员变量声明,并为实体创建了UserRepository
,并在控制器类中自动装配了UserRepository
实例。
一切正常,但是当我在我的实体类中声明一个数组列表时,我的控制器崩溃了。
我的问题是如何在实体类中声明列表并通过控制器中的公共函数访问它。
@Entity
public class Users {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
private ArrayList <String> courses = new ArrayList<String>();
//Omitted Class Member Functions
}
以下是错误跟踪
- ERROR 3040 --- [ main]
org.hibernate.tool.hbm2ddl.SchemaExport : HHH000389: Unsuccessful:
alter table video_courses drop constraint FK_gb79j8mlvu17uvv38mp0x9ts
- 2014-08-22 11:10:07.210 ERROR 3040 --- [ main]
org.hibernate.tool.hbm2ddl.SchemaExport : user lacks privilege or
object not found: PUBLIC.VIDEO_COURSES
答案 0 :(得分:1)
我错过了实体声明中的@ElementCollection
和@CollectionTable
注释。
@Entity
public class Users {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
@ElementCollection
@CollectionTable(name="listOfUsers")
private ArrayList <String> courses = new ArrayList<String>();
//Omitted Class Member Functions
}
答案 1 :(得分:0)
更改
private ArrayList <String> courses = new ArrayList<String>();
到
private List<String> courses = new ArrayList();
看看你怎么走