Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将输出作为对象而不是字符串获取_Java_Hibernate - Fatal编程技术网

Java 将输出作为对象而不是字符串获取

Java 将输出作为对象而不是字符串获取,java,hibernate,Java,Hibernate,在下面的程序中,我得到的输出是Hibernate。UserDetails@224b4d61 我应该如何解决此问题? 以下是我正在使用的两个程序,我需要打印username 休眠测试: public class HibernateTest { public static void main(String[] args) { SessionFactory sessionfactory = new Configuration().configure("Hibernat

在下面的程序中,我得到的输出是
Hibernate。UserDetails@224b4d61

我应该如何解决此问题?

以下是我正在使用的两个程序,我需要打印
username

休眠测试:

public class HibernateTest {
    public static void main(String[] args) 
    {
        SessionFactory sessionfactory = new Configuration().configure("Hibernate/hibernate.cfg.xml").buildSessionFactory();
        Session session = sessionfactory.openSession();
        session.beginTransaction();

        Criteria criteria = session.createCriteria(UserDetails.class);
        criteria.add(Restrictions.eq("UserName","User5"));
        List<UserDetails> user =(List<UserDetails>) criteria.list();
        session.getTransaction().commit();
        session.close();
        for(UserDetails u : user)
        {
            System.out.println("Name of User is : "+u);
        }
    }
}
@Entity
public class UserDetails 
{
    @Id @GeneratedValue(strategy=GenerationType.AUTO) 
    private int UserId;
    private String UserName;

    public int getUserId() {
        return UserId;
    }
    public void setUserId(int userId) {
        UserId = userId;
    }
    public String getUserName() {
        return UserName;
    }
    public void setUserName(String userName) {
        UserName = userName;
    }
}

您当前正在尝试打印整个UserDetails对象,但我认为您正在尝试只打印用户名

System.out.println("Name of User is : " + u.getUserName());
你应该重写这个命令

实现toString()方法
@Entity
public class UserDetails 
{
    @Id @GeneratedValue(strategy=GenerationType.AUTO) 
    private int UserId;
    private String UserName;

    public int getUserId() {
        return UserId;
    }
    public void setUserId(int userId) {
        UserId = userId;
    }
    public String getUserName() {
        return UserName;
    }
    public void setUserName(String userName) {
        UserName = userName;
    }

    public String toString() {
      return getUserName() + " (id = " + getUserId().toString()  + ")"
}