知道为什么我会收到此错误,我已经尝试了所有命名约定(小写/大写)
我正在使用 Vaadin,这是我的代码片段:
public class Usercontainer extends BeanItemContainer<Users> implements Serializable{
public static final Object[] NATURAL_COL_ORDER = new Object[] {"id", "empCode"};
public static final String[] COL_HEADERS_ENGLISH = new String[] {"User Id", "Emp code"};
public Usercontainer() throws IllegalArgumentException {
super(Users.class);
}
public static Usercontainer createTestData(){
Usercontainer users = null;
try
{
users = new Usercontainer();
for(int i=0; i<10;i++){
Users user = new Users();
user.setId(i*10);
user.setEmpcode("C00"+i);
users.addItem(user);
}
}
catch(Exception e){System.out.println("Error :"+e.getMessage());}
return users;
}
}
<小时/>
@Entity
@Table(name="_user")
public class Users {
//private String name;
public int id;
public String empcode;
@Id
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getEmpcode() {
return empcode;
}
public void setEmpcode(String empcode) {
this.empcode = empcode;
}
}
<小时/>
public class UserTable extends Table {
public UserTable(App1Application app){
setSizeFull();
setContainerDataSource(app.getDataSource());
setVisibleColumns(Usercontainer.NATURAL_COL_ORDER);
setColumnHeaders(Usercontainer.COL_HEADERS_ENGLISH);
this.setColumnReorderingAllowed(true);
setSelectable(true);
setImmediate(true);
addListener((Property.ValueChangeListener)app);
setNullSelectionAllowed(false);
}
}
最佳答案
如果您在 NATURAL_COL_ORDER
中使用 "empCode"
,那么您应该在实体类中使用 getEmpCode()
getter 方法(而不是getEmpcode()
)恕我直言。
关于java - ID 必须存在于容器中或作为生成的列,缺少 id : id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13638491/