VimIy微民网,让世界倾听微民的声音! 设为首页 | 加入收藏 | 网站地图
当前位置:主页 > 大杂烩 >

【万能的微民网】求助码农

整理时间:2013-04-11 00:27 来源:www.vimiy.com 作者:编辑 点击:

【楼主】2013-04-10 00:01

» 求助码农
    刚开始学JSF和EJB 用netbeans编了个小程序 一调用数据库就返回错误java.lang.NullPointerException
    据说是找不到数据库。
    我是用entity和entity Manager访问数据库的 这东西是应该自动创建数据库的么?
    部分关键代码如下
    TaskUser.java
    import java.io.Serializable;
    import javax.inject.Named;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    
    @Entity
    @NamedQueries({
     @NamedQuery(name="findTaskUser",
     query="SELECT t FROM TaskUser t WHERE t.username LIKE :namestring"
     )
    })
    public class TaskUser implements Serializable {
     private static final long serialVersionUID = 1L;
     @Id
     @GeneratedValue(strategy = GenerationType.AUTO)
     private Long id;
     String username;
     String password;
     public String getUsername()
     {
     if(username==null)
     {
     username=new String();
     }
     return username;
     }
     public void setUsername(String username)
     {
     this.username=username;
    
     }
     public String getPassword()
     {
     if(password==null)
     {
     password=new String();
     }
     return password;
     }
     public void setPassword(String password)
     {
     this.password=password;
     }
    
     public Long getId() {
     return id;
     }
    
     public void setId(Long id) {
     this.id = id;
     }
    
     @Override
     public int hashCode() {
     int hash = 0;
     hash += (id != null ? id.hashCode() : 0);
     return hash;
     }
    
     @Override
     public boolean equals(Object object) {
     // TODO: Warning - this method won't work in the case the id fields are not set
     if (!(object instanceof TaskUser)) {
     return false;
     }
     TaskUser other = (TaskUser) object;
     if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
     return false;
     }
     return true;
     }
    
     @Override
     public String toString() {
     return "entity.User";
     }
    
    }
    toDoList.java
    package todolist;
    
    import entity.Task;
    import entity.TaskUser;
    import javax.inject.Named;
    import java.io.Serializable;
    import java.util.Date;
    import java.util.List;
    import javax.enterprise.context.SessionScoped;
    import javax.faces.bean.ManagedBean;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    
    import javax.persistence.Query;
    
    
    @Named(value="toDoList")
    @ManagedBean
    @SessionScoped
    public class ToDoList implements Serializable{
     //@PersistenceContext(unitName = "toDoList")
     private EntityManager em;
     private String username;
     private String password;
     private String output;
     private List <Task> tasks=null;
    
    
     public String register()
     {
     if("".equals(username))
     {
     output="please input username first";
     return "index";
     }
     else{
     if("".equals(password))
     {
     output="please input password";
     return "index";
     }
     else
     {
    
     Query q=em.createNamedQuery("findTaskUser");
     q.setParameter("namestring",username);
     List <TaskUser> users=q.getResultList();
     if(!users.isEmpty())
     {
     output="username already existed";
     return "index";
     }
     else
     {
     TaskUser newUser= new TaskUser();
     newUser.setPassword(password);
     newUser.setUsername(username);
     em.persist(newUser);
     output="register completed";
     return "index";
     }
     }
     }
    
     }
    
     public String getUsername()
     {
     return username;
     }
     public void setUsername(String username)
     {
     this.username=username;
    
     }
     public String getPassword()
     {
     return password;
     }
     public void setPassword(String password)
     {
     this.password=password;
     }
     public String getOutput()
     {
     return output;
     }
     public void setOutput(String output)
     {
     this.output=output;
     }
    
    }
    求助怎么修改可以连接到数据库呢 在em.creatNamedQuery()那里就出错了
    


网友评论2013-04-10 00:09


    你也没必要发两遍吧
    
    不懂帮顶
    
网友评论2013-04-10 00:29


    你发的时间不对,也不看看现在都啥时候了
    
网友评论2013-04-10 00:49


    java这种垃圾语言劝你赶紧放弃吧,学学python,ios,oracle才是正道,起码也是php,java就是大坑
    ----sent from my motorola ME525+,Android 2.3.6
    
网友评论2013-04-10 00:52


    Reply Post by ddddse (2013-04-10 00:49):
    java这种垃圾语言劝你赶紧放弃吧,学学python,ios,oracle才是正道,起码也是php,java就是大坑
    ----sent from my motorola ME525+,Android 2.3.6
    
    多接触一门语言就算没好处怎么也不会有坏处
    ----sent from my Xiaomi MI 1SC,Android 4.0.4
    
网友评论2013-04-10 00:53


    Reply Post by kyoleo (2013-04-10 00:29):
    你发的时间不对,也不看看现在都啥时候了
    
    码农这个时候还很活跃,不过大概是不会再想代码了
    ----sent from my Xiaomi MI 1SC,Android 4.0.4
    
网友评论2013-04-10 00:56


    Reply Post by ddddse (2013-04-10 00:49):
    java这种垃圾语言劝你赶紧放弃吧,学学python,ios,oracle才是正道,起码也是php,java就是大坑
    ----sent from my motorola ME525+,Android 2.3.6
    
    php是最好的语言,不服来战
    
    ----sent from my samsung GT-N7100,Android 4.1.2
    
网友评论2013-04-10 00:57


    Reply Post by ddddse (2013-04-10 00:49):
    
    java这种垃圾语言劝你赶紧放弃吧,学学python,ios,oracle才是正道,起码也是php,java就是大坑
    ----sent from my motorola ME525+,Android 2.3.6
    
    lol
    
网友评论2013-04-10 00:59


    你这个em没用constructor初始化,就是个控制帧,怎么能调用它的方法
    
网友评论2013-04-10 01:00


    java语言垃圾,而且还常常配上更垃圾的sshi框架,更是垃圾
    ----sent from my motorola ME525+,Android 2.3.6
    
网友评论2013-04-10 01:02


    JAVA脚本语言 求别黑
    ----sent from my Sony Ericsson LT26i,Android 4.0.4
    
网友评论2013-04-10 01:04


    楼主你看一下你的exception是哪一行报错了,去看看就对了。这空指错误应该是最容易遇到的,也是通常情况下最容易解决的。
    ----sent from my Sony Ericsson LT26i,Android 4.0.4
    
网友评论2013-04-10 01:04


    Reply Post by 风流涕淌 (2013-04-10 00:52):
    
    
    多接触一门语言就算没好处怎么也不会有坏处
    ----sent from my Xiaomi MI 1SC,Android 4.0.4
    
    在你的时间不值钱的前提下。
    ----sent from my motorola ME525+,Android 2.3.6
    
网友评论2013-04-10 01:07


    Reply Post by ddddse (2013-04-10 00:49):
    java这种垃圾语言劝你赶紧放弃吧,学学python,ios,oracle才是正道,起码也是php,java就是大坑
    ----sent from my motorola ME525+,Android 2.3.6
    
    你明明在喷语言,但是这关oracle数据库和ios操作系统毛关系?
    
    ----sent from my samsung GT-I9300,Android 4.1.1
    
网友评论2013-04-10 01:13


    Reply Post by ddddse (2013-04-10 01:04):
    
    
    在你的时间不值钱的前提下。
    ----sent from my motorola ME525+,Android 2.3.6
    
    呃,人家学的开心就当是撸啊撸了,我的非工作时间确实不值钱,甲板有木甲板费
    ----sent from my Xiaomi MI 1SC,Android 4.0.4
    
网友评论2013-04-10 01:33


    楼主你还不熟调试器啊,这个问题解决了也会有别的问题。
    
    在ide运行,出现你说的异常会自动断下来,这时候仔细观察堆栈,异常点代码,变量值列表,即可找出问题。
    
网友评论2013-04-10 02:05


    这种排版好蛋痛啊。。。。。
    
网友评论2013-04-10 02:23

求助码农
    给em那加注解, @PersistenceContext(unitName='xxx'),xxx部分看你xml文件中怎么配置的。
    
    话说jpa这东西,就算搞java的也一半以上人不用,都清一色hibernate
    
网友评论2013-04-10 09:58


    应该放弃EJB往轻量级框架那边靠, 看看你配置文件里面吧 空指针很多时候都是配置文件的问题 没法注入
    
网友评论2013-04-10 10:08


    Reply Post by ddddse (2013-04-10 00:49):
    
    java这种垃圾语言劝你赶紧放弃吧,学学python,ios,oracle才是正道,起码也是php,java就是大坑
    ----sent from my motorola ME525+,Android 2.3.6
    
    Python3, Objective-C, PL/SQL.
    这才叫语言, ios和oracle算什么语言.....你要说cocoa还算沾点边....
    另外java就算坑大, 也比C++好多了.
    
    em没有初始化, 很大可能是xml配置不正确或者xml没放对位置....
    另外那行annotation注释掉是一定不会初始化em的....
    




    
    
    

关于网站 | 网站声明 | 用户反馈 | 合作伙伴 | 联系我们
Copyright © 2012年2月8日