質問編集履歴

1

追加

2017/08/02 09:59

投稿

Yoshi--
Yoshi--

スコア62

test CHANGED
File without changes
test CHANGED
@@ -29,3 +29,189 @@
29
29
  ```
30
30
 
31
31
  のエラーが出てしまいます。
32
+
33
+
34
+
35
+
36
+
37
+ Profile
38
+
39
+ ```java
40
+
41
+ //profileテーブルとマッピングさせるエンティティクラス
42
+
43
+
44
+
45
+ package com.example.konkatsu.domain;
46
+
47
+
48
+
49
+ import java.sql.Date;
50
+
51
+
52
+
53
+ import javax.persistence.Column;
54
+
55
+ import javax.persistence.Entity;
56
+
57
+ import javax.persistence.FetchType;
58
+
59
+ import javax.persistence.Id;
60
+
61
+ import javax.persistence.JoinColumn;
62
+
63
+ import javax.persistence.ManyToOne;
64
+
65
+ import javax.persistence.Table;
66
+
67
+
68
+
69
+ import lombok.AllArgsConstructor;
70
+
71
+ import lombok.Data;
72
+
73
+ import lombok.NoArgsConstructor;
74
+
75
+
76
+
77
+ @Data
78
+
79
+ @NoArgsConstructor //デフォルトコンストラクタも必要な場合
80
+
81
+ @AllArgsConstructor //すべてのフィールドを引数に持つコンストラクタを自動生成
82
+
83
+ @Entity //エンティティ(一単位として扱われるデータのまとまり)であることを示す。指定したクラス名がテーブルとマッピングされる
84
+
85
+ @Table(name = "profile") //接続するテーブルを指定
86
+
87
+ public class Profile {
88
+
89
+ //@Autowired
90
+
91
+ //ProfileForm form;
92
+
93
+
94
+
95
+ @Column(name = "user_id")
96
+
97
+ @Id //主キー
98
+
99
+ private Integer id;
100
+
101
+ private String name;
102
+
103
+ private Integer genderId;
104
+
105
+ private Date birthday;
106
+
107
+ private Integer height;
108
+
109
+ private Integer occupationId;
110
+
111
+ private Integer income;
112
+
113
+ private String text;
114
+
115
+ private byte[] image;
116
+
117
+
118
+
119
+ @ManyToOne(fetch = FetchType.LAZY) //@ManyToOneで多対1の関係にする
120
+
121
+ @JoinColumn(nullable = true, name = "user_id", insertable=false, updatable=false) //外部キーのカラム名の指定
122
+
123
+ private User user;
124
+
125
+
126
+
127
+ @ManyToOne(fetch = FetchType.LAZY) //@ManyToOneで多対1の関係にする
128
+
129
+ @JoinColumn(nullable = true, name = "genderId", insertable=false, updatable=false) //外部キーのカラム名の指定
130
+
131
+ private Gender gender;
132
+
133
+
134
+
135
+ @ManyToOne(fetch = FetchType.LAZY)
136
+
137
+
138
+
139
+ }
140
+
141
+ ```
142
+
143
+
144
+
145
+ Favorite
146
+
147
+
148
+
149
+ ```java
150
+
151
+ package com.example.konkatsu.domain;
152
+
153
+
154
+
155
+ import javax.persistence.Column;
156
+
157
+ import javax.persistence.Entity;
158
+
159
+ import javax.persistence.FetchType;
160
+
161
+ import javax.persistence.Id;
162
+
163
+ import javax.persistence.IdClass;
164
+
165
+ import javax.persistence.JoinColumn;
166
+
167
+ import javax.persistence.ManyToOne;
168
+
169
+ import javax.persistence.Table;
170
+
171
+
172
+
173
+ import lombok.AllArgsConstructor;
174
+
175
+ import lombok.Data;
176
+
177
+ import lombok.NoArgsConstructor;
178
+
179
+
180
+
181
+ @Data
182
+
183
+ @NoArgsConstructor
184
+
185
+ @AllArgsConstructor
186
+
187
+ @Entity
188
+
189
+ @Table(name = "favorite")
190
+
191
+ @IdClass(value=FavoriteKeyId.class) //複合主キーを扱いたい場合、別途キーをまとめたクラスを作成する必要がある
192
+
193
+
194
+
195
+ public class Favorite {
196
+
197
+
198
+
199
+ @Id
200
+
201
+ @Column(name = "user_id")
202
+
203
+ private Integer userId;
204
+
205
+
206
+
207
+ @Id
208
+
209
+ @Column(name = "favorite_user_id")
210
+
211
+ private Integer favoriteUserId;
212
+
213
+
214
+
215
+ }
216
+
217
+ ```