@Entity(name = "ResourceIdentity")
@Table(name = "RESOURCE_IDENTITY")
@Access(AccessType.FIELD)
public static class ResourceIdentity {
Long id;
@Id
@Column(name = "ID")
@Access(AccessType.PROPERTY)
@GeneratedValue(strategy = GenerationType.SEQUENCE)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
@Entity(name = "ResourceUnit")
@Table(name = "RESOURCE_UNIT")
@Access(AccessType.FIELD)
public static class ResourceUnit {
Long id;
@Id
@Column(name = "ID")
@Access(AccessType.PROPERTY)
@GeneratedValue(strategy = GenerationType.SEQUENCE)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@OneToOne(optional = false, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "id")
@MapsId
private ResourceIdentity identity;
public ResourceIdentity getIdentity() {
return identity;
}
public void setIdentity(ResourceIdentity identity) {
this.identity = identity;
}
}