2017-09-18 59 views
0

外键关系我有两个班,我想有一个他们之间有很多关系,因而例如:如何保持休眠

Home(id<int>, rooms<string>) 

Vehicle(id<int>, home_id<int>, name<string>) 

我需要使用有HomeVehicle类之间的关系Home.idvehicle.home_id

请推荐我可以在这里用于CURD操作来实现REST服务的任何示例。

+0

查找休眠@JoinColumn注解,这是很基本的东西,你到处都会找到教程 – Zeromus

回答

1

我需要有Home,并使用Home.idvehicle.home_idVehicle类之间的关系。

你的实体应该是这样的:

车辆实体

@Entity 
@Table(name = "vehicle", catalog = "bd_name", schema = "schema_name") 
@XmlRootElement 
public class Vehicle implements Serializable { 

    private static final long serialVersionUID = 1L; 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    @Basic(optional = false) 
    @Column(name = "id") 
    private Integer id; 
    @Column(name = "name") 
    private String name; 
    @JoinColumn(name = "home_id", referencedColumnName = "id") 
    @ManyToOne 
    private Home homeId; 

    //constructor getter & setters 

} 

家实体

@Entity 
@Table(name = "home", catalog = "bd_name", schema = "schema_name") 
@XmlRootElement 
public class Home implements Serializable { 

    private static final long serialVersionUID = 1L; 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    @Basic(optional = false) 
    @Column(name = "id") 
    private Integer id; 
    @Column(name = "room") 
    private Character room; 
    @OneToMany(mappedBy = "homeId") 
    private List<Vehicle> vehicleList; 

    //constructor getter & setters 
} 
+0

javax.validation.ConstraintViolationException:验证失败的类[com.kumar.persistence.pojo.Vehicle]期间持续时间为基团[javax.validation.groups.Default,]违反约束的 列表:[ \t ConstraintViolationImpl {interpolatedMessage = '可能不为空',propertyPath = account,rootBeanClass = class com.kumar.persistence.pojo.Vehicle,messageTemplate ='{javax.validation.constraints.NotNull.message}'} ] persit出现此错误。 –