Skip to content

Commit 299cfae

Browse files
committed
add images to jpa entities
1 parent 9d81933 commit 299cfae

4 files changed

Lines changed: 89 additions & 0 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.mastercloudapps.twitterscheduler.infrastructure.jpa.pending;
2+
3+
import javax.persistence.Column;
4+
import javax.persistence.Entity;
5+
import javax.persistence.GeneratedValue;
6+
import javax.persistence.GenerationType;
7+
import javax.persistence.Id;
8+
import javax.persistence.JoinColumn;
9+
import javax.persistence.ManyToOne;
10+
import javax.persistence.Table;
11+
12+
import lombok.AllArgsConstructor;
13+
import lombok.Builder;
14+
import lombok.Data;
15+
import lombok.NoArgsConstructor;
16+
17+
@Entity
18+
@Data
19+
@AllArgsConstructor
20+
@Builder
21+
@NoArgsConstructor
22+
@Table(name="PENDING_IMAGE")
23+
public class PendingTweetImageJpaEntity {
24+
25+
@Id
26+
@GeneratedValue(strategy = GenerationType.IDENTITY)
27+
private Long id;
28+
29+
@Column(columnDefinition="TEXT")
30+
private String url;
31+
32+
@ManyToOne
33+
@JoinColumn(name="PENDING_TWEET_ID", nullable=false)
34+
private PendingTweetJpaEntity pendingTweet;
35+
}

src/main/java/com/mastercloudapps/twitterscheduler/infrastructure/jpa/pending/PendingTweetJpaEntity.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
package com.mastercloudapps.twitterscheduler.infrastructure.jpa.pending;
22

33
import java.time.Instant;
4+
import java.util.Collection;
45

6+
import javax.persistence.CascadeType;
57
import javax.persistence.Column;
68
import javax.persistence.Entity;
9+
import javax.persistence.FetchType;
710
import javax.persistence.GeneratedValue;
811
import javax.persistence.GenerationType;
912
import javax.persistence.Id;
13+
import javax.persistence.OneToMany;
1014
import javax.persistence.Table;
1115

1216
import lombok.AllArgsConstructor;
@@ -33,4 +37,7 @@ public class PendingTweetJpaEntity {
3337

3438
private Instant createdAt;
3539

40+
@OneToMany(cascade=CascadeType.ALL, mappedBy="pendingTweet", fetch = FetchType.EAGER)
41+
private Collection<PendingTweetImageJpaEntity> images;
42+
3643
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.mastercloudapps.twitterscheduler.infrastructure.jpa.tweet;
2+
3+
import javax.persistence.Column;
4+
import javax.persistence.Entity;
5+
import javax.persistence.Id;
6+
import javax.persistence.JoinColumn;
7+
import javax.persistence.ManyToOne;
8+
import javax.persistence.Table;
9+
10+
import lombok.AllArgsConstructor;
11+
import lombok.Builder;
12+
import lombok.Data;
13+
import lombok.NoArgsConstructor;
14+
15+
@Entity
16+
@Data
17+
@AllArgsConstructor
18+
@Builder
19+
@NoArgsConstructor
20+
@Table(name="TWEET_IMAGE")
21+
public class TweetImageJpaEntity {
22+
23+
@Id
24+
private Long id;
25+
26+
private Long size;
27+
28+
@Column(columnDefinition="TEXT")
29+
private String type;
30+
31+
private Integer width;
32+
33+
private Integer height;
34+
35+
@ManyToOne
36+
@JoinColumn(name="TWEET_ID", nullable=false)
37+
private TweetJpaEntity tweet;
38+
39+
}
40+

src/main/java/com/mastercloudapps/twitterscheduler/infrastructure/jpa/tweet/TweetJpaEntity.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
package com.mastercloudapps.twitterscheduler.infrastructure.jpa.tweet;
22

33
import java.time.Instant;
4+
import java.util.Collection;
45

6+
import javax.persistence.CascadeType;
57
import javax.persistence.Column;
68
import javax.persistence.Entity;
79
import javax.persistence.EnumType;
810
import javax.persistence.Enumerated;
11+
import javax.persistence.FetchType;
912
import javax.persistence.Id;
13+
import javax.persistence.OneToMany;
1014
import javax.persistence.Table;
1115

1216
import com.mastercloudapps.twitterscheduler.domain.tweet.PublicationType;
@@ -42,4 +46,7 @@ public class TweetJpaEntity {
4246
@Enumerated(EnumType.STRING)
4347
private PublicationType publicationType;
4448

49+
@OneToMany(cascade=CascadeType.ALL, mappedBy="tweet", fetch = FetchType.EAGER)
50+
private Collection<TweetImageJpaEntity> images;
51+
4552
}

0 commit comments

Comments
 (0)