diff options
author | Zhongheng Liu <z.liu@outlook.com.gr> | 2024-01-14 14:52:32 +0200 |
---|---|---|
committer | Zhongheng Liu <z.liu@outlook.com.gr> | 2024-01-14 14:52:32 +0200 |
commit | 8259f6cc49f68aa49036a8f6fdc137074a88697d (patch) | |
tree | 1ebd28854ad29b0f496e9c97dc6f928497590f62 | |
parent | ba12033e9092e54606d895fee5b1677f8a452850 (diff) | |
download | epq-api-8259f6cc49f68aa49036a8f6fdc137074a88697d.tar.gz epq-api-8259f6cc49f68aa49036a8f6fdc137074a88697d.tar.bz2 epq-api-8259f6cc49f68aa49036a8f6fdc137074a88697d.zip |
made incomplete misc changes
4 files changed, 51 insertions, 6 deletions
diff --git a/src/main/java/me/imsonmia/epqapi/config/MySQLCustomDialect.java b/src/main/java/me/imsonmia/epqapi/config/MySQLCustomDialect.java new file mode 100644 index 0000000..559bbe2 --- /dev/null +++ b/src/main/java/me/imsonmia/epqapi/config/MySQLCustomDialect.java @@ -0,0 +1,14 @@ +package me.imsonmia.epqapi.config; + +import org.hibernate.dialect.MariaDBDialect; + +/** + * MySQLCustomDialect + */ +public class MySQLCustomDialect extends MariaDBDialect { + // https://stackoverflow.com/questions/42430786/how-to-set-collation-for-table-attribute-as-utf8-bin-in-either-annotation-or-app#54993738 + @Override + public String getTableTypeString() { + return " ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"; + } +}
\ No newline at end of file diff --git a/src/main/java/me/imsonmia/epqapi/config/WebSocketConfig.java b/src/main/java/me/imsonmia/epqapi/config/WebSocketConfig.java index d464af9..6df6bb2 100644 --- a/src/main/java/me/imsonmia/epqapi/config/WebSocketConfig.java +++ b/src/main/java/me/imsonmia/epqapi/config/WebSocketConfig.java @@ -1,6 +1,7 @@ package me.imsonmia.epqapi.config; import org.springframework.context.annotation.Configuration; +import org.springframework.lang.NonNull; import org.springframework.messaging.simp.config.MessageBrokerRegistry; import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker; import org.springframework.web.socket.config.annotation.StompEndpointRegistry; @@ -10,12 +11,12 @@ import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerCo @EnableWebSocketMessageBroker public class WebSocketConfig implements WebSocketMessageBrokerConfigurer { @Override - public void configureMessageBroker(MessageBrokerRegistry registry) { + public void configureMessageBroker(@NonNull MessageBrokerRegistry registry) { registry.enableSimpleBroker("/sub"); registry.setApplicationDestinationPrefixes("/app"); } @Override - public void registerStompEndpoints(StompEndpointRegistry registry) { + public void registerStompEndpoints(@NonNull StompEndpointRegistry registry) { registry.addEndpoint("/ws").setAllowedOrigins("*"); } diff --git a/src/main/java/me/imsonmia/epqapi/view/MessageSpecification.java b/src/main/java/me/imsonmia/epqapi/view/MessageSpecification.java new file mode 100644 index 0000000..fa266b3 --- /dev/null +++ b/src/main/java/me/imsonmia/epqapi/view/MessageSpecification.java @@ -0,0 +1,21 @@ +package me.imsonmia.epqapi.view; + +import org.springframework.data.jpa.domain.Specification; +import org.springframework.lang.Nullable; + +import jakarta.persistence.criteria.CriteriaBuilder; +import jakarta.persistence.criteria.CriteriaQuery; +import jakarta.persistence.criteria.Predicate; +import jakarta.persistence.criteria.Root; +import me.imsonmia.epqapi.model.Message; + +public class MessageSpecification implements Specification { + + @Override + @Nullable + public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { + // TODO Auto-generated method stub + + return null; + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index cff589b..11ba37c 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,6 +1,15 @@ -spring.datasource.url=jdbc:mariadb://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8 -spring.datasource.username=dbuser -spring.datasource.password=dbpasswd +spring.datasource.url=jdbc:mariadb://127.0.0.1:3306/epqchat +spring.datasource.username=epqchatuser +spring.datasource.password=epqlevel3artifact spring.datasource.driver-class-name=org.mariadb.jdbc.Driver + +# Use custom database handler to ensure that the API and database table collations +# run in UTF-8-MB4 mode. This should get rid of all the encoding issues previously present. +spring.jpa.properties.hibernate.dialect=me.imsonmia.epqapi.config.MySQLCustomDialect spring.jpa.show-sql: true -spring.jpa.hibernate.ddl-auto=create-drop +# https://stackoverflow.com/questions/42135114/how-does-spring-jpa-hibernate-ddl-auto-property-exactly-work-in-spring +# Summarisation +# create-drop for testing +# validate for semi-production +# none for serious prod scenarios +spring.jpa.hibernate.ddl-auto=update |