Entityクラス抽象スーパー
@MappedSuperclass @Data パブリック 抽象 クラスCommonEntity { @Id @GeneratedValue(戦略 = GenerationType.IDENTITYを) プライベートロングID。 @JsonFormat(パターン = "YYYY-MM-DD HH:MM:SS"、時間帯= "GMT + 8" ) @DateTimeFormat(パターン = "YYYY-MM-DD HH:MM:SS" ) @Temporal(TemporalType.TIMESTAMP ) @CreatedDate プライベート日CREATETIME。 @JsonFormat(パターン = "YYYY-MM-DD HH:MM:SS"、時間帯= "GMT + 8" ) @DateTimeFormat(パターン = "YYYY-MM-DD HH:MM:SS" @LastModifiedDate プライベート日付modifiedTime。 }
抽象インタフェース層
@NoRepositoryBean パブリック インターフェース BaseRepository <TはCommonEntityは、IDが延びる延びシリアライズ> 延びリポジトリ<T、IDを> { / ** *管理対象エンティティを削除します。 * @paramのID削除エンティティのID。 * @return { @code 削除エンティティを含むオプション}。そこ場合 *指定されたIDを有するいかなる実体がなく、この方法は、空{返し@code オプションを}。 * / オプション <T> deleteById(ID番号)。 }
エンティティインタフェース
インタフェース TodoRepositoryは延び BaseRepository <藤堂、ロング> { 一覧 <藤堂> のfindAll(); / ** *メソッドのパラメータとして与えられた検索用語を使用してTODO項目を検索します。 * @param SEARCHTERM与えられた検索用語。 * @return タイトルや説明与えられた検索語を含んでTODOエントリのリスト。 * / @query( + "藤堂TからTを選択" "LOWER LIKE LOWER(t.title)(CONCAT( '%' ,: SEARCHTERM、 '%'))OR" + LOWER LIKE「LOWER(t.description) (CONCAT( '%' ,: SEARCHTERM、 '%')) ") 一覧 <藤堂> findBySearchTerm(@Param( "検索語" )文字列検索語)。 オプション <藤堂> findOne(ロングID); 空フラッシュ(); (藤堂が持続)を保存藤堂。 }
全体的に、道の拡張の多く