>source

CrudRepository와 함께 JPA를 사용하고 있습니다. 나는 고객과 청구서 사이에 일대일 관계가 있습니다. 고객은 내가 고객에게 할당하려는 청구서를 점차적으로 받습니다.

<div class="col-lg-3">    <select name="customers" class="form-control m-bot15" required="">        <option value="">*** Bitte auswählen ***</option>        <option th:each="customer : ${customers}" th:value="${customer.customerID}" th:text="${customer.name}"></option>    </select></div>

양식에서 이 스니펫을 사용하여 고객을 표시하고 고객 이름을 참조하여 ID를 삽입합니다.

이제 나는 Manytoone 관계를 가지고 있으므로 객체입니다. 이것으로 나는 ID를 설정할 수 없습니다.

@ManyToOne(cascade= CascadeType.ALL)
private Customers customers;

무엇을 하고 싶지 않은지 명확하지 않습니다. 결과로 얻고자 하는 인터페이스의 예 또는 엔티티 code를 게시하십시오.

sanluck2022-01-14 22:15:14

어떤 종류의 매핑을 사용하고 있습니까? 어떤 경우에 작동하고 어떤 경우에는 작동하지 않는지(어떤 매핑이 작동합니까?) ???

SkorpEN2022-01-14 22:15:14
  • 답변 # 1

    스프링 데이터에서 다대일 관계를 처리하는 데 문제가 없다고 생각합니다. 그렇다면 에서 솔루션을 참조할 수 있습니다.

    드롭다운에서 사용자 선택에 따라 Id를 할당하고 컨트롤러에 전달하는 방법에 대해 논의하겠습니다.

    예시 1

    내 음성 code. 참고: int 또는 long과 같은 기본 데이터 유형을 사용하지 마십시오. 사용자가 아무 것도 선택하지 않은 경우 thymeleaf에서 null 값을 다시 할당하는 데 문제가 됩니다.

    private Long selectedCustomerId;
    private Set<Customer> customerSet=new HashSet<Customer>();
    

    Thymeleaf code. 사용자 선택에 따라 thymeleaf는 VO의 selectedCustomerId속성에 customerid를 할당합니다.

    <select id="customer-title" name="customer-title" th:field="*{selectedCustomerId}" th:required="required" class="form-control">        <option value="" th:text="-Select-"></option>        <option th:each="temp : *{customerSet}"
                th:value="${temp.customerId}"
                th:text="${temp.customerName}">        </option></select>

    예제 2 -숨겨진 입력 필드

    드롭다운의 Onchange 이벤트 및 양식의 온로드는 자바스크립트를 통해 드롭다운에서 선택한 값을 숨겨진 입력 필드로 또는 그 반대로 설정할 수 있습니다.

    <input id="customer-id" name="customer-id" type="hidden" th:field="*{selectedCustomerId}"/>....
    <select id="customer-title" name="customer-title" th:required="required" class="form-control">            <option value="" th:text="-Select-"></option>            <option th:each="temp : *{customerSet}"
                    th:value="${temp.customerId}"
                    th:text="${temp.customerName}">            </option>    </select>

  • 이전 ssh를 통해 다른 컴퓨터로 rsync를 사용하여 전체 시스템 Linux 백업
  • 다음 파이썬 분기를 만들 수 있습니까? 어떻게 해야 할까요?