【发布时间】:2010-02-14 02:54:57
【问题描述】:
我的 Spring MVC Web 应用程序中有两个类定义,分别命名为 Class 和 Object:
public Class {
//instance variables
int classId;
int className;
}
public Object {
//instance variables
int objectId;
int objectName;
}
我还有一个服务,它返回定义如下的类和对象列表。
package com.service;
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
import com.domain.Class;
import com.domain.Object;
import com.service.SearchManager;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import java.io.Serializable;
public class SempediaSearchManager implements com.service.SearchManager {
private SessionFactory sessionFactory;
private List<Class> classes;
private List<Object> objects;
public List<Class> getClassSeedSearch(String classSeed) {
Configuration configuration = new Configuration().configure();
sessionFactory = configuration.buildSessionFactory();
Session session = sessionFactory.openSession();
try {
Query query = session.createQuery("from Class c where lower(c.className) like lower('"
+ classSeed + "%')");
return query.list();
} finally {
session.close();
}
}
public List<Object> getObjectSeedSearch(String objectSeed) {
Configuration configuration = new Configuration().configure();
sessionFactory = configuration.buildSessionFactory();
Session session = sessionFactory.openSession();
try {
Query query = session.createQuery("from Object o where lower(o.objectName) like lower('"
+ objectSeed + "%')");
return query.list();
} finally {
session.close();
}
}
?????
skeleton method
public List<ClassesAndObjects> getObjectorClassSeedSearch(String objectOrClassSeed) {
?????
}
我展示的视图有一个搜索框,允许用户根据 getObjectSeedSearch 和 getClassSeedSearch - List、List 方法返回的对应列表搜索类或对象
我想让搜索文本框简单地搜索类和对象,可能返回一个合并列表 - 列表 - 如果你希望通过利用方法 getObjectorClassSeedSearch强>
实现这一点的最佳方式是什么。 我隐约知道我想创建一个包装类,它可以同时使用 Class 和 Object ,并且可能在运行时多态地确定从列表中返回的实例和项目是什么。我猜我的应用程序中会有一个相应的bean。也许是泛型的练习。
什么是有效的方法?
谢谢
【问题讨论】:
标签: java spring spring-mvc