spring-data-jpa-guide
spring-data-jpa-guide copied to clipboard
spring-data-jpa-guide,Spring Data JPA实战,SpringDataJpa详解
参考: https://www.baeldung.com/jpa-queries-custom-result-with-aggregation-functions 确实没有提到DTO的nativeSql的用法; 但看Hibernate感觉应该是支持才对。 https://thoughts-on-java.org/dto-projections/ 难道要配置@SqlResultSetMapping: https://stackoverflow.com/questions/29082749/spring-data-jpa-map-the-native-query-result-to-non-entity-pojo 这是个什么原理和机制有待研究......
现有的代码中,配置文件采用properies。 在代码中用yml会比较多,有没有一个干净的全的 yml配置文件。尤其是log的。方便观察连接,事务。
@Transactional @Override //是根据每一条的Task及FileID来执行这一个分解为子任务的 public Result startRuleReview(Integer id) { //1.校验 String key = RedisKeyConstants.FILE_REVIEW.concat(String.valueOf(id)); boolean lock = jedisUtils.lock(key, NumberConstants.THIRTY); if (!lock) { return Result.createError("任务锁定中"); } //RuleReviewTask task = ruleReviewTaskMapper.selectByPrimaryKey(id); JPARuleReviewTask task=jpaTaskRepository.getOne(id.longValue());...
老师,在SAAS服务中,有多租户的要求。JPA中在框架层面有多租户的处理方式吗? 如果没有,那么它的处理大概思路应该如何?谢谢
76页最后一行, 不考虑数据安全的情况下,尽量使用StringBuffer 是不是写错了呢? https://www.javatpoint.com/difference-between-stringbuffer-and-stringbuilder 是的,性能好的是StringBuilder
#### 公共GenericTokenRepository ```` import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.NoRepositoryBean; import org.springframework.data.repository.query.Param; import org.springframework.transaction.annotation.Transactional; import java.time.Instant; import java.util.List; import java.util.Optional; /** * GenericTokenRepository 共同接口 * * @param UserToken/TeacherToken 这两个实体公用一个GenericTokenRepository...
### 只更新非null字段 ```` /** * @param user * @return */ @PostMapping("/user/notnull") public User saveUserNotNullProperties(@RequestBody User user) { //数据库里面取出最新的数据,当然了这一步严谨一点可以根据id和version来取数据,如果没取到可以报乐观锁异常 User userSrc = userRepository.findById(user.getId()).get(); //将不是null的字段copy到userSrc里面,我们只更新传递了不是null的字段 PropertyUtils.copyNotNullProperty(user,userSrc); return userRepository.save(userSrc); } ```` ```` package...
改成: ```` 改成,如下即可: spring.jpa.show-sql=false; logging.level.org.hibernate.SQL=DEBUG ```` 这样 sql就会通过logback的形式打印出来,会带上traceId,threadID等上下文信息; 
Idea 2018的版本,与Gradle版本总是有冲突。老师用的是哪个版本的Idea,哪个版本的Gradle?
### 出现N+1的SQL的场景,我们有如下四个实体,核心内容如下: ```` import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.StringUtils; import org.hibernate.annotations.*; import javax.persistence.*; import javax.persistence.Entity; import javax.persistence.Table; import java.time.Instant; import java.util.HashSet; import java.util.List; import java.util.Set; @Setter @Getter @EqualsAndHashCode(of...