在Spring Boot Rest API中使用@embbeded时,在db中获取空值? Java新手帮帮我

在数据库中获取嵌入式地址实体的空值。使用MySql数据库。用户实体可以很好地存储值,但是嵌入式地址实体返回的是空值,无法弄清为什么它不起作用。我是一个初学者,尝试过到处搜索,但没有运气。只是Api的新手,但它无法像我想要的那样令人讨厌。

模型类

 package com.example.demo;



import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class User {
@Id
private int id; 
private String name;
@Embedded
private Address address;

public User() {

}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public String toString() {
    return "user [id=" + id + ", name=" + name + ",Address="+address+" ]";
}
public User(int id, String name, Address address) {
    this.id = id;
    this.name = name;
    this.address = address;
}
public Address getAddress() {
    return address;
}
public void setAddress(Address address) {
    this.address = address;
}

}

---------------------------------------------------------------------------------------------------------
**Model class**
package com.example.demo;

import javax.persistence.Embeddable;


@Embeddable
public class Address {

    private String cityname;

    private String streetname;

    private String Housename;

    public Address() {

}
public Address(String cityname, String streetname, String housename) {
        super();
        this.cityname = cityname;
        this.streetname = streetname;
        Housename = housename;
    }


public String getStreetname() {
    return streetname;
}
public void setStreetname(String streetname) {
    this.streetname = streetname;
}
public String getHousename() {
    return Housename;
}
public void setHousename(String housename) {
    Housename = housename;
}
public String getCityname() {
    return cityname;
}
public void setCityname(String cityname) {
    this.cityname = cityname;
}
}
---------------------------------------------------------------------------------------------------------

**controller class**

package com.example.demo;

import java.util.List;
import java.util.Optional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class Croller {

@Autowired
TestRepo repo;

@PostMapping("/add")
public String save(@RequestBody User mode) {
repo.save(mode);
return "details saved";
}

@GetMapping("/get")
public List<User> retrive(){
return repo.findAll();
}

@GetMapping("/search")
public List<User> searchname(@RequestParam("name")String name){
    return  repo.name(name);    
}
@GetMapping("/byid/{id}")
public Optional <User> getone (@PathVariable int id){

    return repo.findById(id);
}

@PutMapping("/update")
public String updateid(@RequestBody User mode ) {
 repo.save(mode);
return " user updated sucessfully";
}

@DeleteMapping("/remove/{id}")
public String delete(@PathVariable int id) {
repo.deleteById(id);
return "deleted with the given id:"+ id;
}
}
---------------------------------------------------------------------------------------------------------
Repository 

package com.example.demo;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;

public interface TestRepo extends JpaRepository <User, Integer> {
 List <User> name(String name);



}


**Application.java**

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Demoapi2Application {

    public static void main(String[] args) {
        SpringApplication.run(Demoapi2Application.class, args);
    }
}
评论