Java与设计模式
在我的子类中,我添加了对象或实体。当我调试时,我的clazz为null。 我不明白男人们能告诉我为什么。多谢各位Java与设计模式,java,design-patterns,nullable,Java,Design Patterns,Nullable,在我的子类中,我添加了对象或实体。当我调试时,我的clazz为null。 我不明白男人们能告诉我为什么。多谢各位 public abstract class BaseDao<Clazz> implements BaseDaoInteface { private Session session; private Class<Clazz> clazz; public List<Clazz> selectAll() { ; this.session
public abstract class BaseDao<Clazz> implements BaseDaoInteface {
private Session session;
private Class<Clazz> clazz;
public List<Clazz> selectAll() {
;
this.session = Hibernate.getConnection();
List<Clazz> list = this.session
.createQuery("select e from " + this.clazz.getName() + "status = " + Constant.Status.ACTIVE, this.clazz)
.getResultList();
Utility.closeSession(session);
return list;
}}
public class DirectoryDao extends BaseDao<Directory>{
public DirectoryDao() {
super();
}
public static void main(String[] args) {
DirectoryDao dao = new DirectoryDao();
List<Directory> list = dao.selectAll();
// dao.selectAll();
// dao.insertOne(new String[] {"a "}, new String[] {"a "});
list.forEach((ele) ->{
System.out.println(ele.getUsername());
});
}
公共抽象类BaseDao实现BaseDaoInteface{
非公开会议;
私人课堂;
公共列表selectAll(){
;
this.session=Hibernate.getConnection();
List=this.session
.createQuery(“从“+this.clazz.getName()+”status=“+Constant.status.ACTIVE,this.clazz”中选择e)
.getResultList();
实用程序关闭会话(会话);
退货清单;
}}
公共类DirectoryDao扩展了BaseDao{
公共目录dao(){
超级();
}
公共静态void main(字符串[]args){
DirectoryDao=新的DirectoryDao();
List=dao.selectAll();
//dao.selectAll();
//insertOne(新字符串[]{“a”},新字符串[]{“a”});
列表。forEach((ele)->{
System.out.println(ele.getUsername());
});
}
}现在可以了
public class BaseDao<Clazz> implements BaseDaoInteface {
private Session session;
private final Class<Clazz> clazz;
public BaseDao(Class<Clazz> entity) {
this.clazz = entity;
}
公共类BaseDao实现BaseDaoInteface{
非公开会议;
私人期末班;
公共BaseDao(类实体){
this.clazz=实体;
}
我在抽象类中添加了construct请将代码复制并粘贴到您的问题中,我没有图像的带宽!我没有看到您在任何地方设置字段“clazz”,您可以说明初始化它的行吗?如果您没有,它当然将始终为空。