Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.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 hibernate中未使用@Embeddeble vlue类型对象更新数据库值_Java_Hibernate - Fatal编程技术网

Java hibernate中未使用@Embeddeble vlue类型对象更新数据库值

Java hibernate中未使用@Embeddeble vlue类型对象更新数据库值,java,hibernate,Java,Hibernate,您好,我是hibernate新手,请尝试简单的示例代码 这里我使用Hibernate并将用户对象保存到数据库中 模型实体:-将Address类对象作为成员变量的userinfo UserInfo.java package org.hibernate.dto; import javax.persistence.*; @Entity @Table(name="User_Info") public class UserInfo { @Id @GeneratedValue(strate

您好,我是hibernate新手,请尝试简单的示例代码

这里我使用Hibernate并将用户对象保存到数据库中

模型实体:-将Address类对象作为成员变量的userinfo

UserInfo.java

package org.hibernate.dto;
import javax.persistence.*;
@Entity
@Table(name="User_Info")
public class UserInfo 
{
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int userid;
    @Column(name="UserName")
    private String username;

    @Embedded
    private Address ad;

    public Address getAd() {
        return ad;
    }
    public void setAd(Address ad) {
        this.ad = ad;
    }
    public int getUserid() {
        return userid;
    }
    public void setUserid(int userid) {
        this.userid = userid;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
}
Address.java

package org.hibernate.dto;
import javax.persistence.Embeddable;

@Embeddable
public class Address 
{

private String city;
private String state;


public String getCity() {
    return city;
}
public void setCity(String city) {
    this.city = city;
}
public String getState() {
    return state;
}
public void setState(String state) {
    this.state = state;
}

}
HibernateTest.java

package org.hibernate.Test;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.dto.*;
import HibernateUtils.*;


public class HibernateTest {
    public static void main(String[] args) 
    {
         UserInfo user=new UserInfo();

        user.setUsername("Yogendra");

         Address a1=new Address();

         a1.setCity("pune");

        Session session = HibernateUtils.getFactory().openSession();

        Transaction tx = session.beginTransaction();

        session.save(user);

        tx.commit();

    }

}
主要问题是他们的唯一用户名和用户ID在数据库中被更新,没有地址字段的条目


如果我犯了一些错误,请指出。

您没有在任何地方将地址设置为用户。添加user.setAda1,它就会工作。

为什么要这样做。用户对象上没有设置地址,因此hibernate对此一无所知。您只构建了一个地址,不做任何处理。Thankx@Predrag Maric: