Java 8中Collections.sort的问题 @实体 @命名查询({ @命名查询( name=“FolderNode.findByName”, query=“从FolderNode f中选择f,其中f.name=:name和f.parentNode

Java 8中Collections.sort的问题 @实体 @命名查询({ @命名查询( name=“FolderNode.findByName”, query=“从FolderNode f中选择f,其中f.name=:name和f.parentNode,java,sorting,java-8,Java,Sorting,Java 8,Java 8中Collections.sort的问题 @实体 @命名查询({ @命名查询( name=“FolderNode.findByName”, query=“从FolderNode f中选择f,其中f.name=:name和f.parentNode=:parentNode”), @命名查询( name=“FolderNode.findRootNodeByName”, query=“从FolderNode f中选择f,其中f.name=:name和f.parentNode为null”) }

Java 8中Collections.sort的问题
@实体
@命名查询({
@命名查询(
name=“FolderNode.findByName”,
query=“从FolderNode f中选择f,其中f.name=:name和f.parentNode=:parentNode”),
@命名查询(
name=“FolderNode.findRootNodeByName”,
query=“从FolderNode f中选择f,其中f.name=:name和f.parentNode为null”)
})
公共类FolderNode扩展了InstructorTreNode{
公共FolderNode(){
超级();
}
公共FolderNode(字符串名称){
这个();
集合名(名称);
}
公共FolderNode(整型排序器,字符串名称){
这个(名字),;
this.sortOrder=sortOrder;
}
公共FolderNode(整型排序器、字符串名称、EmployeeState状态){
这个(巫师,名字);
这个状态=状态;
}
公共静态FolderNode addWaitingListNode(字符串名称){
EntityManager em=getDao().getEntityManager();
em.getTransaction().begin();
FolderNode waitingListNode=getWaitingListFolder();
FolderNode FolderNode=新FolderNode(0,名称);
addChild(folderNode);
em.merge(waitingListNode);
em.getTransaction().commit();
em.close();
返回folderNode;
}
公共静态void addWaitingListStudent(字符串waitingList,Student s){
EntityManager em=FolderNode.getDao().getEntityManager();
em.getTransaction().begin();
FolderNode WaitingListNode=getWaitingListFolder();
FolderNode waitingListNode=getDao().findFolderNodeByName(waitingListNode,waitingList);
addChild(newEmployeeLeaf(s.getInmate());
em.merge(waitingListNode);
em.getTransaction().commit();
em.close();
}
公共静态FolderNode getAMClassFolder(){
返回getDao().findFolderNodeByName(getStudentsFolder(),“AM类”);
}
公共静态FolderNode getAttendanceFolder(){
返回getDao().findFolderNodeByName(getRootFolder(),“员工考勤”);
}
公共静态FolderNode getFormerParaprosFolder(){
返回getDao().findFolderNodeByName(getPararosFolder(),“前”);
}
公共静态FolderNode getFormerStudentsFolder(){
返回getDao().findFolderNodeByName(getStudentsFolder(),“前”);
}
公共静态FolderNode getPMClassFolder(){
返回getDao().findFolderNodeByName(getStudentsFolder(),“PM类”);
}
公共静态FolderNode getParaprosFolder(){
返回getDao().findFolderNodeByName(getRootFolder(),“Parapros”);
}
公共静态FolderNode getPendingStudentsFolder(){
返回getDao().findFolderNodeByName(getRootFolder(),“待定学生”);
}
公共静态FolderNode getRootFolder(){
返回getDao().findFolderNodeByName(null,EducationPreferences.Get讲师().getInstructorName());
}
公共静态FolderNode getStudentsFolder(){
返回getDao().findFolderNodeByName(getRootFolder(),“学生”);
}
公共静态FolderNode getWaitingListFolder(字符串名称){
FolderNode WaitingListNode=getWaitingListFolder();
返回getDao().findFolderNodeByName(waitingListsNode,name);
}
公共静态FolderNode getWaitingListFolder(){
返回getDao().findFolderNodeByName(getRootFolder(),“等待列表”);
}
公共静态void setClassFolder(学生aStudent、EntityManager、EntityManager){
EntityManager em=EntityManager;
if(entityManager==null){
em=FolderNode.getDao().getEntityManager();
em.getTransaction().begin();
}
EmployeeLeaf=EmployeeLeaf.findactivestudenteraf(aStudent);
FolderNode节点=aStudent.getShift()==Shift.AM?getAMClassFolder():getPMClassFolder();
setParentNode(节点);
em.merge(叶);
GlobalEntityMethods.updateHistory(叶);
if(entityManager==null){
em.getTransaction().commit();
em.close();
}
}
公共静态无效transferWaitingListStudent(字符串currentFolder、字符串toFolder、Student-Student){
EntityManager em=FolderNode.getDao().getEntityManager();
em.getTransaction().begin();
FolderNode WaitingListNode=getWaitingListFolder();
FolderNode currentWaitingListNode=getDao().findFolderNodeByName(WaitingListNode,currentFolder);
EmployeeLeaf EmployeeLeaf=EmployeeLeaf.getDao().findWaitingListLeafByInmate(student.getInmate());
currentWaitingListNode.removeChild(employeeLeaf);
FolderNode toWaitingListNode=getDao().findFolderNodeByName(WaitingListNode,toFolder);
toWaitingListNode.addChild(employeeLeaf);
em.merge(currentWaitingListNode);
em.merge(toWaitingListNode);
em.getTransaction().commit();
em.close();
}
公共void addChild(InstructorTreeNode节点){
添加(节点);
node.setParentNode(此);
}
公共列表getChildNodes(){
Collections.sort(子节点);
返回子节点;
}
@凌驾
公营监狱犯人(){
Set inmateSet=新哈希集(50);
对于(InstructorTreNode节点:getChildNodes()){
inmatestet.addAll(node.getInmates());
}
返回囚犯网;
}
public int getSortOrder(){
返回排序器;
}
公共雇员状态getStatus(){
返回状态;
}
@凌驾
公共列表getTree(){
列表结果=新的ArrayList(25);
for(InstructorTreNode子节点:getChildNodes()){
if(FolderNode的子节点实例){
结果.添加(子节点);
}
addAll(childNode.getTree());
}
返回结果;
}
@凌驾
公共JPanel getView(EmployeeViewController){
if(“员工出勤率”.equals(getName())){
返回新的AttendanceView();
}else if(“等待列表”.equals(getName())){
返回新的AllWaitingListsPanel(控制器);
}else if(getParentNode().getName().equals(“等待列表”)){
返回新的WaitingListPanel(控制器);
}else if(“待定学生”.equals(getName())){
返回新的PendingStudentsPanel(控制器
public static <T extends Comparable<? super T>> void sort(List<T> list) {
    list.sort(null);
}
public static <T> void sort(List<T> list, Comparator<? super T> c) {
    list.sort(c);
}
class YourComparator implements Comparator<InstructorTreeNode> {
@Override
public int compare(final  InstructorTreeNode 01, final InstructorTreeNode o2) {
    return o2.getYourCompVal().compareTo(o1.getYourCompVal());
}
 public List<InstructorTreeNode> getChildNodes() {
 Collections.sort(childNodes, new YourComparator());
 return childNodes;}