[SPRING] Spring Hibernate가있는 시퀀스에서 다음 값 얻기
SPRINGSpring Hibernate가있는 시퀀스에서 다음 값 얻기
내 Oracle 데이터베이스에 entite 저장하려면 최대 절전 모드로 spring jpa 저장소를 사용하고 있습니다. Spring-Hibernate를 사용하여 oracle 데이터베이스 시퀀스의 다음 값을 얻는 방법은 무엇입니까?
이것은 내 이벤트 클래스입니다.
@Entity
public class Event {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private Long seriesId;
private String description;
public Event() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getSeriesId() {
return seriesId;
}
public void setSeriesId(Long seriesId) {
this.seriesId = seriesId;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
이벤트 리졸버의 모든 이벤트 시리즈에 대해 시퀀스의 다음 값을 한 번 가져와야합니다.
public class EventResolver {
@Autowired
private EventRepository eventRepository;
public void createSeriesOfEvents(List<EventAPI> eventsToCreate){
Long seriesId = null; // TODO: Get the series id from database sequence
for (EventAPI currEvent : eventsToCreate){
Event newEvent = new Event();
newEvent.setDescription(currEvent.description);
newEvent.setSeriesId(seriesId);
eventRepository.save(newEvent);
}
}
}
모든 종류의 도움에 감사드립니다 ..
해결법
-
==============================
1.마지막으로 Spring에서 내 문제를 해결했습니다. JpaRepository에 기본 쿼리를 추가하면됩니다.
마지막으로 Spring에서 내 문제를 해결했습니다. JpaRepository에 기본 쿼리를 추가하면됩니다.
public interface EventRepository extends JpaRepository<Event, Long> { @Query(value = "SELECT seq_name.nextval FROM dual", nativeQuery = true) Long getNextSeriesId();
-
==============================
2.JPA에서이 방법을 사용할 수 있습니다.
JPA에서이 방법을 사용할 수 있습니다.
Query q = em.createNativeQuery("select seq_name.nextval from dual"); return (Long)q.getSingleResult();
-
==============================
3.id 속성에 주석 달기 :
id 속성에 주석 달기 :
@Id @GeneratedValue(generator = "idSequence") @SequenceGenerator(schema = "MYORASCHEMA", name = "idSequence", sequenceName = "MY_ORACLE_SEQ_NAME", allocationSize = 1) @Column(name="ID") private Long id;
from https://stackoverflow.com/questions/46240529/getting-next-value-from-sequence-with-spring-hibernate by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 여러 개의 InternalResourceViewResolver 만들기 (0) | 2019.04.26 |
---|---|
[SPRING] 봄 + 메이븐 + 하둡 (0) | 2019.04.25 |
[SPRING] Spring webapp - 응용 프로그램 중지시 스레드 종료 (0) | 2019.04.25 |
[SPRING] 스프링 부트로 CORS 문제 (0) | 2019.04.25 |
[SPRING] 스프링 보안 Oauth2에서 XML을 사용하여 / oauth / check_token을 활성화하는 방법 (0) | 2019.04.25 |