Ceci est mon Entity
:Manipulation @Transactional rollbackFor à la clause @Where
@Entity
@Table(name = "example")
@Where(clause = "count >= 0")
public class Example {
@Column(name="count")
private Integer count;
//some code
}
Ceci est mon DML
opération:
@Transactional(rollbackFor = Exception.class)
public void updateService {
update();
}
void update(){
// findOne(Id) - if null throw Exception
// --count & save() //line 8
// findOne(Id) if null throw Exception //line 9
// --count & save()
// if something fails
throw new Exception("Exception thown.");
}
Supposons que la valeur initialement count
est 0
pour Id
en db. line 9
retournera également un enregistrement car line 8
n'a pas encore été validée. Il n'y a pas de exception
thrown
. Il ne sera pas rollback
et mettre à jour le DB, ce qui ne devrait pas arriver. Quelqu'un peut-il aider, Si une solution hibernate
/JPA
existe pour cela.