我有以下令我困惑的问题:
1)我有一个 MySQL 视图,它从不同的相关表中获取信息。如果我对此运行一个普通的选择查询,我会得到我需要的所有行。
userID functionID functionName parentFunction functionType branchCode
jg1 234561 Another Test XXXXXX T 001
jg1 123456 Test Function XXXXXX T 001
jg1 123457 Tendai 234561 T 001
jg1 123458 Rutendo 234561 T 001
jg1 XXXXXX Root 001
2)我基于此视图创建了一个实体,如下所示:
private static final long serialVersionUID = 1L;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 35)
@Column(name = "userID")
@Id
private String userID;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 8)
@Column(name = "functionID")
private String functionID;
@Size(max = 35)
@Column(name = "functionName")
private String functionName;
@Size(max = 8)
@Column(name = "parentFunction")
private String parentFunction;
@Column(name = "functionType")
private Character functionType;
@Size(max = 3)
@Column(name = "branchCode")
private String branchCode;
....
....
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getFunctionID() {
return functionID;
}
public void setFunctionID(String functionID) {
this.functionID = functionID;
}
public String getFunctionName() {
return functionName;
}
public void setFunctionName(String functionName) {
this.functionName = functionName;
}
public String getParentFunction() {
return parentFunction;
}
public void setParentFunction(String parentFunction) {
this.parentFunction = parentFunction;
}
public Character getFunctionType() {
return functionType;
}
public void setFunctionType(Character functionType) {
this.functionType = functionType;
}
public String getBranchCode() {
return branchCode;
}
public void setBranchCode(String branchCode) {
this.branchCode = branchCode;
}
…………
3) 我还有一个外观 bean,它使用一种方法来查找表中的所有行。我的问题是 find 方法返回的行只包含一条记录的详细信息,在视图中的记录数上重复。
List browserDetails = new ArrayList(40);
Query query = em.createNamedQuery("...findAll");
List rs = query.getResultList();
4) 这些是在 jsf 页面中使用此外观 bean 后的结果...直接 Netbeans 向导工作
UserID FunctionID FunctionName ParentFunction FunctionType BranchCode
jg1 234561 Another Test XXXXXX T 001 View Edit Destroy
jg1 234561 Another Test XXXXXX T 001 View Edit Destroy
jg1 234561 Another Test XXXXXX T 001 View Edit Destroy
jg1 234561 Another Test XXXXXX T 001 View Edit Destroy
jg1 234561 Another Test XXXXXX T 001 View Edit Destroy`
我不知道为什么只有在我使用视图时才会发生这种情况,但是当我使用表格时,我能够得到正确的结果。