PostとPost_Imageのテーブルがあります
@Entity
@Table(name = "post")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Post.findAll", query = "SELECT p FROM Post p"),
@NamedQuery(name = "Post.findByPostId", query = "SELECT p FROM Post p WHERE p.postId = :postId"),
@NamedQuery(name = "Post.findByTitle", query = "SELECT p FROM Post p WHERE p.title = :title"),
@NamedQuery(name = "Post.findByCreatedDatetime", query = "SELECT p FROM Post p WHERE p.createdDatetime = :createdDatetime")})
public class Post implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@NotNull
@Column(name = "post_id")
private Integer postId;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 500)
@Column(name = "title")
private String title;
@Basic(optional = false)
@NotNull
@Lob
@Size(min = 1, max = 65535)
@Column(name = "content")
private String content;
@Column(name = "created_datetime")
@Temporal(TemporalType.TIMESTAMP)
private Date createdDatetime;
@JoinColumn(name = "user_id", referencedColumnName = "user_id")
@ManyToOne(optional = false)
private User userId;
@JoinColumn(name = "post_type_id", referencedColumnName = "post_type_id")
@ManyToOne(optional = false)
private PostType postTypeId;
public Post() {
Date date = new Date();
this.createdDatetime =new Date(date.getTime());
}
public Post(Integer postId) {
this.postId = postId;
}
public Post(Integer postId, String title, String content) {
this.postId = postId;
this.title = title;
this.content = content;
}
public Integer getPostId() {
return postId;
}
public void setPostId(Integer postId) {
this.postId = postId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getCreatedDatetime() {
return createdDatetime;
}
public void setCreatedDatetime(Date createdDatetime) {
this.createdDatetime = createdDatetime;
}
public User getUserId() {
return userId;
}
public void setUserId(User userId) {
this.userId = userId;
}
public PostType getPostTypeId() {
return postTypeId;
}
public void setPostTypeId(PostType postTypeId) {
this.postTypeId = postTypeId;
}
@Override
public int hashCode() {
int hash = 0;
hash += (postId != null ? postId.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Post)) {
return false;
}
Post other = (Post) object;
if ((this.postId == null && other.postId != null) || (this.postId != null && !this.postId.equals(other.postId))) {
return false;
}
return true;
}
@Override
public String toString() {
return "entity.Post[ postId=" + postId + " ]";
}
}
と
@Entity
@Table(name = "post_image")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "PostImage.findAll", query = "SELECT p FROM PostImage p"),
@NamedQuery(name = "PostImage.findByPostImageId", query = "SELECT p FROM PostImage p WHERE p.postImageId = :postImageId"),
@NamedQuery(name = "PostImage.findByPath", query = "SELECT p FROM PostImage p WHERE p.path = :path"),
@NamedQuery(name = "PostImage.findByTitle", query = "SELECT p FROM PostImage p WHERE p.title = :title")})
public class PostImage implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@NotNull
@Column(name = "post_image_id")
private Integer postImageId;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 500)
@Column(name = "path")
private String path;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 500)
@Column(name = "title")
private String title;
@JoinColumn(name = "post_id", referencedColumnName = "post_id")
@ManyToOne(optional = false)
private Post postId;
public PostImage() {
}
public PostImage(Integer postImageId) {
this.postImageId = postImageId;
}
public PostImage(Integer postImageId, String path, String title) {
this.postImageId = postImageId;
this.path = path;
this.title = title;
}
public Integer getPostImageId() {
return postImageId;
}
public void setPostImageId(Integer postImageId) {
this.postImageId = postImageId;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Post getPostId() {
return postId;
}
public void setPostId(Post postId) {
this.postId = postId;
}
@Override
public int hashCode() {
int hash = 0;
hash += (postImageId != null ? postImageId.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof PostImage)) {
return false;
}
PostImage other = (PostImage) object;
if ((this.postImageId == null && other.postImageId != null) || (this.postImageId != null && !this.postImageId.equals(other.postImageId))) {
return false;
}
return true;
}
@Override
public String toString() {
return "entity.PostImage[ postImageId=" + postImageId + " ]";
}
}
Collection objPostImage = objPost.getPostImageCollection()のような特定の投稿の画像のコレクションを取得したいのですが、多対多の関係ではこの機能が提供されません。1対多に変換する方法や投稿の画像コレクションを取得する方法を教えてください。私はJavaを初めて使用するので、助けや提案があれば、事前に感謝します...