Skip to content

Instantly share code, notes, and snippets.

@Transactional
public void addBillsUncheckedException(Long id, List<BillVO> billList) {
User user = userRepository.getOne(id);
for (BillVO billVO : billList) {
validateBillWithUncheckedException(billVO);
user.getBillList().add(
new Bill(billVO.getType(),
billVO.getValue(), billVO.getDate(), user));
}
}
@Transactional(rollbackFor = Exception.class)
public void addBillsCheckedExceptionWithRollback(Long id, List<BillVO> billList) throws TransactionalException {
User user = userRepository.getOne(id);
for (BillVO billVO : billList) {
validateBillWithCheckedException(billVO);
user.getBillList().add(
new Bill(billVO.getType(),
billVO.getValue(), billVO.getDate(), user));
}
}
@iundarigun
iundarigun / TransactionalException.java
Last active March 23, 2018 17:03
UserService.java
public class TransactionalException extends Exception {
}
public Double getTotalValue() {
return getBillList()
.stream()
.mapToDouble(b -> b.getValue().doubleValue())
.sum();
}
@Transactional(readOnly = true)
public User getUser(Long id) {
log.info("M=getUser, id={}", id);
User user = userRepository.getOne(id);
user.setName("Sr(a). " + user.getName());
return user;
}
@Transactional
public User getUser(Long id) {
User user = userRepository.getOne(id);
user.setName("Sr(a). " + user.getName());
return user;
}
@Transactional
public void addBill(Long id, TypeEnum type, BigDecimal value) {
User user = userRepository.getOne(id);
Bill bill = new Bill(type, value, LocalDate.now(), user);
user.getBillList().add(bill);
}
@Transactional
public void addUsers(String... documents){
List.of(documents).forEach(d->userRepository.save(new User(
new Faker(new Locale("pt", "BR")).name().name(),
d, Collections.emptyList())));
}
@RestController
@RequestMapping("/user")
@Slf4j
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/total-amount")
public Double getTotalAmount(){
spring:
application:
name: test-app2
cloud:
config:
uri: http://localhost:8080
label: test-branch
management:
security: