1. 程式人生 > >微信點餐 spring-boot -商品類目

微信點餐 spring-boot -商品類目

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=new 
ProductCategory("女生最愛",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)