在实体中填充java空下拉列表
即使我在onLoad中填充实体,我也得到了空的下拉列表
有人能帮忙吗
集团实体为:
@Entity
@Table(name="GROUPS")
public class Group implements Serializable,Lifecycle{
/**
*
*/
private static final long serialVersionUID = 5551707547269388327L;
@Id
@Column(name="ID")
@GeneratedValue
private int id;
@Column(name="E_NAME")
private String eName;
@Column(name="A_NAME")
private String aName;
/*getters and setters*/
@Override
public boolean onDelete(Session arg0) throws CallbackException {
// TODO Auto-generated method stub
return false;
}
@Override
public void onLoad(Session session, Serializable arg1) {
// TODO Auto-generated method stub
Group adminGroup =new Group();
Group sectionAdminGroup =new Group();
Group userGroup =new Group();
adminGroup.seteName("Admin");
sectionAdminGroup.seteName("Section Admin");
userGroup.seteName("User");
adminGroup.setaName("مسشرف عام");
sectionAdminGroup.setaName("مشرف قطاع");
userGroup.setaName("مستخدم");
session.save(adminGroup);
session.save(sectionAdminGroup);
session.save(userGroup);
}
@Override
public boolean onSave(Session arg0) throws CallbackException {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onUpdate(Session arg0) throws CallbackException {
// TODO Auto-generated method stub
return false;
}
}
在用户实体中
@Entity
@Table(name="USERS")
public class User implements Serializable{
/**
*
*/
private static final long serialVersionUID = -5446873648771603353L;
@Id
@Column(name="ID")
@GeneratedValue
private int id;
@Column(name="USERNAME")
private String username;
@Column(name="PASSWORD")
private String password;
@Column(name="DATE_CREATED")
private String dateCreated;
@Column(name="LAST_LOGIN_DATE")
private String lastLoginDate;
@Column(name="ACTIVE")
private int active;
@Column(name="MSISDN")
private String msisdn;
@Column(name="MSGS_CREDIT")
private int msgsCredit;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name="Group_id",referencedColumnName="ID")
private Group group;
/*getters and setters*/
弹簧控制器
@SuppressWarnings("unchecked")
@RequestMapping(method=RequestMethod.GET)
public String listUsers(Map<String, Object> map) {
map.put("user", new User());
map.put("usersList", usersService.getAllObjects(User.class));
map.put("groupsList", usersService.getAllObjects(Group.class));
return "index";
}
在JSP中
<tr>
<td>groups</td>
<td><form:select path="group">
<form:options items="${groupsList}"/>
</form:select></td>
</tr>
<tr>
注意:我将usersService.getAllObjects(Group.class)
作为arraylist并打印了它的大小,但是我得到了0,因此实体在初始化后不会加载数据
如何加载它
# 1 楼答案
Hibernate的OnLoad函数似乎存在缺陷
所以你必须在你的控制器中获取这样的值
填充数据的方法将是
在Jsp中