From cd09578f27ec7aaa7efa69b2d0c4bb7b850c89d0 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Thu, 3 May 2018 00:12:04 +0200 Subject: [PATCH] JPA Mapping for Migration from PostgreSQL to MySQL --- .../woehlke/twitterwall/oodm/model/Media.java | 36 +++++++++++-------- .../twitterwall/oodm/model/Mention.java | 9 ++--- .../twitterwall/oodm/model/TickerSymbol.java | 8 +++-- .../woehlke/twitterwall/oodm/model/Url.java | 13 ++++--- .../woehlke/twitterwall/oodm/model/User.java | 15 +++++--- 5 files changed, 50 insertions(+), 31 deletions(-) diff --git a/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/Media.java b/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/Media.java index 4c4db46..6f028a9 100644 --- a/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/Media.java +++ b/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/Media.java @@ -21,15 +21,15 @@ name = "media", uniqueConstraints = { @UniqueConstraint(name="unique_media_id_twitter", columnNames = {"id_twitter"}) - }//, - //indexes = { - //@Index(name="idx_media_url", columnList= "url"), - //@Index(name="idx_media_expanded", columnList="expanded"), - //@Index(name="idx_media_display", columnList="display") , - //@Index(name="idx_media_media_http", columnList="media_http"), - //@Index(name="idx_media_media_https", columnList="media_https"), - //@Index(name="idx_media_media_type", columnList="media_type") - //} + }/*, + indexes = { + @Index(name="idx_media_url", columnList= "url"), + @Index(name="idx_media_expanded", columnList="expanded"), + @Index(name="idx_media_display", columnList="display") , + @Index(name="idx_media_media_http", columnList="media_http"), + @Index(name="idx_media_media_https", columnList="media_https"), + @Index(name="idx_media_media_type", columnList="media_type") + } */ ) @NamedQueries({ @NamedQuery( @@ -50,29 +50,35 @@ public class Media extends AbstractDomainObject implements DomainObjectEn @Column(name="id_twitter", nullable = false) private Long idTwitter; + @Lob @NotNull - @Column(name = "media_http", length=4096, columnDefinition="CHAR(4096)", nullable = false) + @Column(name = "media_http", length=4096, columnDefinition="TEXT", nullable = false) private String mediaHttp = ""; + @Lob @NotNull - @Column(name = "media_https", length=4096, columnDefinition="CHAR(4096)", nullable = false) + @Column(name = "media_https", length=4096, columnDefinition="TEXT", nullable = false) private String mediaHttps = ""; @URL + @Lob @NotEmpty - @Column(length=4096, columnDefinition="CHAR(4096)", nullable = false) + @Column(length=4096, columnDefinition="TEXT", nullable = false) private String url; + @Lob @NotNull - @Column(length=4096, columnDefinition="CHAR(4096)", nullable = false) + @Column(length=4096, columnDefinition="TEXT", nullable = false) private String display = ""; + @Lob @NotNull - @Column(length=4096, columnDefinition="CHAR(4096)", nullable = false) + @Column(length=4096, columnDefinition="TEXT", nullable = false) private String expanded = ""; + @Lob @NotNull - @Column(name = "media_type", length=4096, columnDefinition="CHAR(4096)", nullable = false) + @Column(name = "media_type", length=4096, columnDefinition="TEXT", nullable = false) private String mediaType = ""; diff --git a/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/Mention.java b/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/Mention.java index 40c5f16..a1c8b42 100644 --- a/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/Mention.java +++ b/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/Mention.java @@ -23,13 +23,13 @@ uniqueConstraints = { @UniqueConstraint(name = "unique_mention", columnNames = {"screen_name_unique", "id_twitter"}), @UniqueConstraint(name = "unique_mention_screen_name_unique", columnNames = {"screen_name_unique"}), - }/*, + }, indexes = { - @Index(name = "idx_mention_name", columnList = "name"), + //@Index(name = "idx_mention_name", columnList = "name"), @Index(name = "idx_mention_screen_name", columnList = "screen_name"), @Index(name = "idx_mention_id_twitter_of_user", columnList = "id_twitter_of_user"), @Index(name = "idx_mention_fk_user", columnList = "fk_user") - } */ + } ) @NamedQueries({ @NamedQuery( @@ -93,7 +93,8 @@ public class Mention extends AbstractDomainObject implements DomainObje @Column(name = "screen_name_unique", nullable = false) private String screenNameUnique = ""; - @Column(name = "name", length=4096, columnDefinition="CHAR(4096)", nullable = false) + @Lob + @Column(name = "name", length=4096, columnDefinition="TEXT", nullable = false) private String name = ""; @NotNull diff --git a/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/TickerSymbol.java b/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/TickerSymbol.java index eb890fe..e7bca76 100644 --- a/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/TickerSymbol.java +++ b/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/TickerSymbol.java @@ -17,12 +17,12 @@ */ @Entity @Table( - name = "tickersymbol", + name = "tickersymbol"/*, uniqueConstraints = { @UniqueConstraint(name="unique_tickersymbol", columnNames = {"url","ticker_symbol"}), @UniqueConstraint(name="unique_tickersymbol_url", columnNames = {"url"}), @UniqueConstraint(name="unique_tickersymbol_ticker_symbol", columnNames = {"ticker_symbol"}) - } + } */ ) @NamedQueries({ @NamedQuery( @@ -39,11 +39,15 @@ public class TickerSymbol extends AbstractDomainObject implements @GeneratedValue(strategy = GenerationType.AUTO) protected Long id; + + @Lob @NotEmpty @SafeHtml @Column(name = "ticker_symbol",length=4096,nullable = false) private String tickerSymbol = ""; + + @Lob @URL @NotEmpty @Column(name = "url",length=4096,nullable = false) diff --git a/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/Url.java b/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/Url.java index 26f3290..1bb3c51 100644 --- a/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/Url.java +++ b/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/Url.java @@ -17,14 +17,14 @@ */ @Entity @Table( - name = "url", + name = "url"/*, uniqueConstraints = { @UniqueConstraint(name="unique_url", columnNames = {"url"}) - }/*, + }, indexes = { @Index(name="idx_url_expanded", columnList="expanded"), @Index(name="idx_url_display", columnList="display") - } */ + } */ ) @NamedQueries({ @NamedQuery( @@ -51,18 +51,21 @@ public class Url extends AbstractDomainObject implements DomainObjectEntity @GeneratedValue(strategy = GenerationType.AUTO) protected Long id; + @Lob @NotNull - @Column(columnDefinition="CHAR(2048)",nullable = false) + @Column(columnDefinition="TEXT",nullable = false) private String display=""; + @Lob @NotNull - @Column(columnDefinition="CHAR(2048)",nullable = false) + @Column(columnDefinition="TEXT",nullable = false) private String expanded=""; public static final String URL_PATTTERN_FOR_USER_HTTPS = "https://t\\.co/\\w*"; public static final String URL_PATTTERN_FOR_USER_HTTP = "http://t\\.co/\\w*"; + @Lob @URL @NotEmpty @Column(nullable = false,columnDefinition="TEXT") diff --git a/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/User.java b/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/User.java index 7aa0524..84663b2 100644 --- a/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/User.java +++ b/twitterwall2/src/main/java/org/woehlke/twitterwall/oodm/model/User.java @@ -162,13 +162,16 @@ public class User extends AbstractDomainObject implements DomainObjectWith @Column(nullable = false) private String name; - @Column(name="url", length=4096, columnDefinition="CHAR(4096)") + @Lob + @Column(name="url", length=4096, columnDefinition="TEXT") private String url; - @Column(length=4096, columnDefinition="CHAR(2048)") + @Lob + @Column(length=4096, columnDefinition="TEXT") private String profileImageUrl; - @Column(name="description", length=4096, columnDefinition="CHAR(4096)") + @Lob + @Column(name="description", length=4096, columnDefinition="TEXT") private String description; @Column(name="location") @@ -238,7 +241,8 @@ public class User extends AbstractDomainObject implements DomainObjectWith @Column private Boolean useBackgroundImage; - @Column(length=4096, columnDefinition="CHAR(4096)") + @Lob + @Column(length=4096, columnDefinition="TEXT") private String backgroundImageUrl; @Column @@ -259,7 +263,8 @@ public class User extends AbstractDomainObject implements DomainObjectWith @Column private Boolean friend; - @Column(length=4096, columnDefinition="CHAR(4096)") + @Lob + @Column(length=4096, columnDefinition="TEXT") private String profileBannerUrl; @NotNull