diff --git a/src/main/java/org/hbp/mip/model/Article.java b/src/main/java/org/hbp/mip/model/Article.java index 0b3a957d4a88af0cef5d74ee1fa321c65789b791..3ac1f8f4881f68acb2e479a3df1011a9a4a9dfa4 100644 --- a/src/main/java/org/hbp/mip/model/Article.java +++ b/src/main/java/org/hbp/mip/model/Article.java @@ -4,11 +4,10 @@ package org.hbp.mip.model; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; +import javax.persistence.*; import java.util.Date; +import java.util.LinkedList; +import java.util.List; @Entity public class Article { @@ -23,9 +22,12 @@ public class Article { private Date publishedAt; private Date createdAt; private Date updatedAt; - /*private User createdBy; + @ManyToOne + private User createdBy; + @ManyToOne private User updatedBy; - private List<Tag> tags;*/ + @ManyToMany + private List<Tag> tags; public Article() { } @@ -102,7 +104,7 @@ public class Article { this.updatedAt = updatedAt; } - /*public User getCreatedBy() { + public User getCreatedBy() { return createdBy; } @@ -131,5 +133,5 @@ public class Article { this.tags = new LinkedList<>(); } this.tags.add(tag); - }*/ + } } diff --git a/src/main/java/org/hbp/mip/model/Chart.java b/src/main/java/org/hbp/mip/model/Chart.java index ea24b36d80030b2d90fa9fdadf17135b2f25288c..382f9ac913a8b35500635bbb6b8b6193eedf976a 100644 --- a/src/main/java/org/hbp/mip/model/Chart.java +++ b/src/main/java/org/hbp/mip/model/Chart.java @@ -4,13 +4,18 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.LinkedList; import java.util.List; +@Entity public class Chart { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String chartType; private String xAxis; + @ManyToMany private List<ChartConfigSet> chartConfigSets; public Chart() { diff --git a/src/main/java/org/hbp/mip/model/ChartConfigSet.java b/src/main/java/org/hbp/mip/model/ChartConfigSet.java index a5a1d0ed3f1f8783fa6c58f57677cdb0df5193ab..040f240c6fb4a14033c15f6c4271127b41328592 100644 --- a/src/main/java/org/hbp/mip/model/ChartConfigSet.java +++ b/src/main/java/org/hbp/mip/model/ChartConfigSet.java @@ -4,7 +4,15 @@ package org.hbp.mip.model; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity public class ChartConfigSet { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String code; private String label; diff --git a/src/main/java/org/hbp/mip/model/Dataset.java b/src/main/java/org/hbp/mip/model/Dataset.java index fd9b66f8fc3d83f8d76f7b89eeef255b8922f735..38f042443a1ca3a8309ac814c129ee959b37aef7 100644 --- a/src/main/java/org/hbp/mip/model/Dataset.java +++ b/src/main/java/org/hbp/mip/model/Dataset.java @@ -4,17 +4,21 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.Date; -import java.util.LinkedList; import java.util.List; -import java.util.Map; +@Entity public class Dataset { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String code; private Date date; + @ElementCollection private List<String> header; - private List<Map<String, List<Object>>> data; + //@ElementCollection + //private List<Map<String, List<Object>>> data; public Dataset() { } @@ -51,7 +55,7 @@ public class Dataset { this.header = header; } - public List<Map<String, List<Object>>> getData() { + /*public List<Map<String, List<Object>>> getData() { return data; } @@ -70,5 +74,5 @@ public class Dataset { this.data = new LinkedList<>(); } this.data.add(map); - } + }*/ } diff --git a/src/main/java/org/hbp/mip/model/Filter.java b/src/main/java/org/hbp/mip/model/Filter.java index d7af73d41ec6c74bbd5ed47a46c4ddabe3b58fdd..3c24be73fd83a07976aed39679219d753346cbbf 100644 --- a/src/main/java/org/hbp/mip/model/Filter.java +++ b/src/main/java/org/hbp/mip/model/Filter.java @@ -4,8 +4,14 @@ package org.hbp.mip.model; +import javax.persistence.*; + +@Entity public class Filter { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; + @ManyToOne private Variable variable; private String operator; diff --git a/src/main/java/org/hbp/mip/model/Group.java b/src/main/java/org/hbp/mip/model/Group.java index 5247fa8367f9d672232bcb9e31c07eb7ce86b14a..4f9d54b29eb6d5685042e04ef41f6aef0e72793f 100644 --- a/src/main/java/org/hbp/mip/model/Group.java +++ b/src/main/java/org/hbp/mip/model/Group.java @@ -4,13 +4,18 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.LinkedList; import java.util.List; +@Entity public class Group { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String code; private String label; + @ManyToMany private List<Group> groups; public Group() { diff --git a/src/main/java/org/hbp/mip/model/Model.java b/src/main/java/org/hbp/mip/model/Model.java index 0adf765f792a98fad5896e4fb710e1c39f3729ef..dbd119ebdb95ee6f0366f30ae97283ec13ad7336 100644 --- a/src/main/java/org/hbp/mip/model/Model.java +++ b/src/main/java/org/hbp/mip/model/Model.java @@ -4,20 +4,29 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.Date; +@Entity public class Model { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; private String slug; private String description; + @ManyToOne private Query query; + @ManyToOne private Dataset dataset; private boolean valid; + @ManyToOne private Chart chart; private Date createdAt; private Date updatedAt; + @ManyToOne private User createdBy; + @ManyToOne private User updatedBy; public Model() { diff --git a/src/main/java/org/hbp/mip/model/Query.java b/src/main/java/org/hbp/mip/model/Query.java index e93f1416d0934dc3d3f0f40410efefea838d49bf..6d81619b9745527ac98c1e9abfac1419537d361e 100644 --- a/src/main/java/org/hbp/mip/model/Query.java +++ b/src/main/java/org/hbp/mip/model/Query.java @@ -4,14 +4,22 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.LinkedList; import java.util.List; +@Entity public class Query { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; + @ManyToMany private List<Variable> variables; + @ManyToMany private List<Variable> covariables; + @ManyToMany private List<Variable> grouping; + @ManyToMany private List<Filter> filters; private String request; diff --git a/src/main/java/org/hbp/mip/model/Tag.java b/src/main/java/org/hbp/mip/model/Tag.java index 249720c8e06b421a0be3341576d851f8094171d0..48ad3e7079181bb90a21343ec60886ef0aa8c21b 100644 --- a/src/main/java/org/hbp/mip/model/Tag.java +++ b/src/main/java/org/hbp/mip/model/Tag.java @@ -4,7 +4,15 @@ package org.hbp.mip.model; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity public class Tag { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; diff --git a/src/main/java/org/hbp/mip/model/User.java b/src/main/java/org/hbp/mip/model/User.java index b035d24be758cec38038cc28973e1a546031bbd9..67b0d38261e2de4dfd64ae3d3e38109eb88c76e8 100644 --- a/src/main/java/org/hbp/mip/model/User.java +++ b/src/main/java/org/hbp/mip/model/User.java @@ -4,10 +4,14 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.LinkedList; import java.util.List; +@Entity public class User { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String fullname; private String username; @@ -18,6 +22,7 @@ public class User { private String phone; private String birthday; private String gender; + @ElementCollection private List<String> languages; private String city; private String country; @@ -26,6 +31,7 @@ public class User { private boolean isActive; private String apikey; private String team; + @ElementCollection private List<String> roles; public User() { diff --git a/src/main/java/org/hbp/mip/model/Value.java b/src/main/java/org/hbp/mip/model/Value.java index 91d5a06694d9895d3612f881a88d3a176a642e0d..f5afddc685fba8177d6085414a8b9d82b98a5fd3 100644 --- a/src/main/java/org/hbp/mip/model/Value.java +++ b/src/main/java/org/hbp/mip/model/Value.java @@ -4,7 +4,15 @@ package org.hbp.mip.model; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity public class Value { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String code; private String label; diff --git a/src/main/java/org/hbp/mip/model/Variable.java b/src/main/java/org/hbp/mip/model/Variable.java index 684bb0ab475e0341ccfddf6f98c6dcf1b6c0ecd4..9439aabee953e5bba31489a9eb8c42884aaf431c 100644 --- a/src/main/java/org/hbp/mip/model/Variable.java +++ b/src/main/java/org/hbp/mip/model/Variable.java @@ -4,11 +4,16 @@ package org.hbp.mip.model; +import javax.persistence.*; import java.util.LinkedList; import java.util.List; +@Entity public class Variable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; + @ManyToOne private Group group; private String code; private String label; @@ -18,6 +23,7 @@ public class Variable { private boolean isGrouping; private boolean isCovariable; private boolean isFilter; + @ManyToMany private List<Value> values; public Variable() { diff --git a/src/main/resources/hibernate.cfg.xml b/src/main/resources/hibernate.cfg.xml index 616b46c2f77b435e4c22da19fc0b27051e40305e..e2960eb76e5b19cb0f853843c54ff8e12f76f3eb 100644 --- a/src/main/resources/hibernate.cfg.xml +++ b/src/main/resources/hibernate.cfg.xml @@ -18,6 +18,17 @@ <property name="hibernate.hbm2ddl.auto">update</property> <mapping class="org.hbp.mip.model.Article"/> + <mapping class="org.hbp.mip.model.Chart"/> + <mapping class="org.hbp.mip.model.ChartConfigSet"/> + <mapping class="org.hbp.mip.model.Dataset"/> + <mapping class="org.hbp.mip.model.Model"/> + <mapping class="org.hbp.mip.model.Query"/> + <mapping class="org.hbp.mip.model.Tag"/> + <mapping class="org.hbp.mip.model.User"/> + <mapping class="org.hbp.mip.model.Value"/> + <mapping class="org.hbp.mip.model.Variable"/> + <mapping class="org.hbp.mip.model.Filter"/> + <mapping class="org.hbp.mip.model.Group"/> </session-factory> </hibernate-configuration> \ No newline at end of file