我對 spring data JPA 命名方法 findAllBy 有問題...這是我的實體:@Id@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")@SequenceGenerator(name = "sequenceGenerator")private Long id;@Column(name = "entity_id")private Long entityId;@Column(name = "entity_name")private String entityName;@Column(name = "user_id")private Long userId;@Column(name = "rating")private Double rating;@Column(name = "like")private Long like;@Column(name = "dislike")private Long dislike;@Column(name = "review_title")private String reviewTitle;@Lob@Column(name = "review_comment")private String reviewComment;@Column(name = "time")private ZonedDateTime time;@ManyToOneprivate RatingType type;與 getter 和 setter。這是 ratingServiceImpl 中使用 @Autowired ratingRepository 的方法調用:List<Rating> ratings = ratingRepository.findAllByEntityIdAndEntityName(entityId, entityName);和存儲庫:@Repositorypublic interface RatingRepository extends JpaRepository<Rating, Long>, JpaSpecificationExecutor<Rating> { List<Rating> findAllByEntityIdAndEntityName(Long entityId, String entityName); }依賴關系:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <version>1.5.10.RELEASE</version></dependency>
1 回答

holdtom
TA貢獻1805條經驗 獲得超10個贊
創建 JPA 實體時,盡量不要使用 DB 保留字作為列名和變量。
我相信問題出在
@Column(name = "like") private Long like;
spring生成的SQL語句是:
... RATING0_.LIKE[*] AS LIKE5_48_,
可以更改列名稱嗎?
添加回答
舉報
0/150
提交
取消