[SQL] 부동산의 열 이름은 최대 절전 모드로 매핑하기
SQL부동산의 열 이름은 최대 절전 모드로 매핑하기
어떻게 속성의 열 이름을 알아 내 모델의 Hibernate 매핑을 액세스 할 수 있습니까?
나는이 열 이름을 포함하여 네이티브 SQL 문을 만들고 싶습니다 - 최대 절전 모드가 자동으로 생성되므로 열 이름이 매핑에 지정되어 있지 않습니다.
해결법
-
==============================
1.Jherico I 덕분에 그 작업을 수행하는 방법을 발견 :
Jherico I 덕분에 그 작업을 수행하는 방법을 발견 :
((Column) sessionFactoryBean.getConfiguration().getClassMapping(Person.class.getName()) .getProperty("myProperty").getColumnIterator().next()).getName();
-
==============================
2.
((AbstractEntityPersister) sessionFactory.getClassMetadata(o.getClass())) .getPropertyColumnNames(property)[0];
-
==============================
3.당신은 최대 절전 모드 구성 개체에 액세스 할 수 있습니다.
당신은 최대 절전 모드 구성 개체에 액세스 할 수 있습니다.
-
==============================
4.이것은 한 수준의 복합 및 일반 속성 매핑을 검색합니다 :
이것은 한 수준의 복합 및 일반 속성 매핑을 검색합니다 :
String columnName(String name) { PersistentClass mapping = configuration.getClassMapping(ExtendedPerson.class.getName()); Property property = mapping.getProperty(name); if(property.isComposite()){ Component comp = (Component) property.getValue(); property = comp.getProperty(StringHelper.unroot(name)); assert ! property.isComposite(); //go only one level down } Iterator<?> columnIterator = property.getColumnIterator(); Column col = (Column) columnIterator.next(); assert ! columnIterator.hasNext(); return col.getName(); }
from https://stackoverflow.com/questions/2023700/get-column-name-of-property-mapped-with-hibernate by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] MySQL의 또는 일반적으로 SQL에서 BETWEEN과 IN 사이의 성능 차이가 있나요? (0) | 2020.07.03 |
---|---|
[SQL] SQL Server의 일광 절약 시간 시작 및 종료 기능을 만드는 방법 (0) | 2020.07.03 |
[SQL] 스크립트 SQL은 특정 테이블에 대한 외부 키를 찾는 방법은? (0) | 2020.07.03 |
[SQL] 변수를 사용하는 경우 SQL Server는 천천히가는 이유는 무엇입니까? (0) | 2020.07.03 |
[SQL] MySQL은 : 1 일 기준, 별개의 행을 카운트 (0) | 2020.07.03 |