簡體   English   中英

使用@Embeddable vlue類型對象在休眠狀態下未更新數據庫值

[英]database value not updated in hibernate using @Embeddable vlue type object

您好,我是休眠的新手,請嘗試簡單的示例代碼。

在這里,我正在使用Hibernate並將用戶對象保存到數據庫中。

模型實體:-具有地址類對象作為成員變量的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;
    }
}

地址.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();

    }

}

主要問題是他們唯一的用戶名和用戶標識在數據庫中沒有地址字段條目的更新。

請指出我是否犯了一些錯誤。

您沒有在任何地方設置用戶的地址。 添加user.setAd(a1) ,它將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM