微信點餐 spring-boot -商品類目
阿新 • • 發佈:2019-02-11
1/問題資料庫中的欄位和對映中的不一致 常見錯誤
資料庫中列名 catagory_type 實體中的屬性categoryType,資料庫中的列名改為category_type
2/關於:Table'XXX.hibernate_sequence' doesn't exist
將ID生成略組改成@GeneratedValue(strategy = GenerationType.IDENTITY).3/實體類的名稱和表明不一致@Table(name="s_product_category")public class ProductCategory {4/更新欄位時自動更新時間見表語句`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP , `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,實體類:註解@DynamicUpdate
ublic class ProductCategory { //類目id @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer categoryId; //類目名稱 private String categoryName; //類目編號 private Integer categoryType; private Date createTime; private Date updateTime;}使用註解@DynamicUpdate的時候要把createtime和updateime去掉方法是先查詢在更改
4/lombok 外掛使用
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
@DATA 在實體類中會生成setter和getter方法以及tostring()
5/測試方法裡面不要存到資料庫我們可以使用@Transactional標籤,這個事情完全回滾不會在資料庫中留下記錄
@Test @Transactional public void saveTest(){ ProductCategory productCategory=newProductCategory("女生最愛",12); ProductCategory save = productCategoryRepository.save(productCategory); Assert.assertNotNull(save); }
6/springjpa 構造自定義的查詢方法時一定要在實體類有對應的無參的構造方法
springjpa repositroy方法命名有要求findbyCategoryType會報如下錯誤(findByCategoryType)
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property findbyCategoryType found for type ProductCategory!
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property findbyCategoryType found for type ProductCategory!
at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:94)at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:358)