2017-11-10 3 views
0

양식에 입력 필드를 동적으로 추가하고 양식 저장시 해당 테이블에 같은 수의 열이 추가되어야합니다. Hibernate를 사용하여 수행 할 수 있습니까? 아니면 JDBC에서만 수행 할 수 있습니까?Java - 입력 필드를 동적으로 추가하고 테이블에 열을 추가하십시오.

$(document).ready(function() { 
    var counter = 1; 
    var favorite = [];   

    $('#add').click(function() { 
     var name = 'textName' + counter; 
     $('#inputContainer').append("<div>" + name + "<input type='text' 
     id='" + name + "' /></div>"); 
     counter++; 
    }); 

    $('#Save').click(function() { 
     for (var i = 1; i < counter; i++) { 
      var textValue = $('#textName' + i).val(); 
      favorite.push(textValue); 
      //If you to save all data in one by one then Save function here 
      //Save(textValue); 
     } 
     //If you to save all data in one go then call Save function here 
     Save(favorite); 
    }); }); 



function Save(dataToSave) 
    { 
    $.ajax({ 
     url: "AJAX_POST_URL", 
     type: "POST", 
     data: dataToSave, 
     success: function (data, textStatus, jqXHR) { 
      //data - response from server 
     }, 
     error: function (jqXHR, textStatus, errorThrown) { 

     } 
    }); 
} 
+0

예 최대 절전 모드는 물론 작동합니다. 너 뭐 해봤 니? 우리에게 코드를 보여줘. –

+0

자바 스크립트 태그와 관련이 있습니까? – evolutionxbox

+0

@evolutionxbox, 태그를 추가 할 수 있도록 JavaScript를 사용하여 입력 필드를 추가하려고했습니다. – Appu

답변

0

아, 이제 알았습니다. 데이터베이스 테이블에 새 열을 동적으로 추가하려고합니다. 당신은 최대 절전 모드를 사용할 수 있습니다. EntityManager를 사용하면 아마도 ALTER TABLE 문을 실행할 수 있습니다. 여기를 보십시요. https://stackoverflow.com/a/9914086/3959856

비록 당신을 위해 일할 수 있다면, 예를 들어 Attributes를 호출 할 수있는 무언가를 다루는 것 같은 더 좋은 방법이 있을지 모르지만. AttributeType이라 불리는 하나의 테이블 (그리고 Hibernate에서 상응하는 엔티티)을 생성하고, 하나는 Attribute라고 부른다. 새 필드가 추가되면 새 AttributeType이 작성됩니다 (새 유형 인 경우 재사용 및 기존 유형). 그런 다음 AttributeType 및 값을 보유하는 새 Attribute를 작성하십시오. 나는 그것이 더 좋은 방법이라고 생각한다.

public class Attribute { 
    private AttributeType type; 
    private String value; 

    //getters setters 
} 

public class AttributeType { 
    private String name; 

    //getter setter 
} 
관련 문제